как писать составные методы REST и методы REST глаголов весной? - PullRequest
0 голосов
/ 27 июня 2018

Например, у меня есть UserController с методами:

GET /api/users -- get all users
GET /api/users/1 -- get concrete users
POST /api/users -- create concrete users
PUT /api/users/3 -- update concrete users

Это классический ОТДЫХ. Но у меня есть 2 вопроса.

  1. Как должен выглядеть метод, осуществляющий оплату в REST-архитектуре?

как это? - POST /api/payments/pay - Но оплата глагол

или логин пользователя - POST /api/users/3/login ???

  1. У меня есть 2 контроллера - MarketController и CarsController с методами:

GET /api/markets/3 - получить рынок с id = 3

GET /api/cars/1 - получить машину с id = 1

Клиент пытается получить конкретную машину с рынка бетона:

GET /api/markets/3/cars/1 - в каком контроллере я должен написать это?

1 Ответ

0 голосов
/ 27 июня 2018

Ответ на вопрос № 1

Это заблуждение : REST не заботится о дизайне URI. Однако, если центральным элементом архитектурного стиля REST является ресурс , то имеет смысл, что URI, идентифицирующий ресурс , содержит существительное вместо глагол .

Чтобы избежать глаголов, вы можете использовать просто /api/payments. POST по этому URL создаст платеж с представлением, отправленным в полезной нагрузке запроса.

Для ресурса аутентификации вы можете использовать, например, /api/auth.

Ответ на вопрос № 2

Кажется, это метод для MarketController, который сопоставлен с /markets.

Но имейте в виду, что ваши контроллеры не должны выполнять какую-либо бизнес-логику. Вместо этого он должен делегировать службе.

...