2016-09-02 5 views
0

Прежде всего, для тех, кто есть! Для другой удачи :)PathParam Layer check REST

Я создаю приложение, используя архитектуру отдыха.

У меня просто вопрос, но я не знаю, как это объяснить.

Итак, давайте возьмем пример и, возможно, вопрос придет после.

Представьте, что у вас есть элемент пути под названием Car. Если я делаю GET на нем возвращает carInformation

Так что я бы определил:

@GET 
@Path("/car/{carid}/display") 
public Response getCar(@PathParam("carid")String carID) 

Если я определяю действия для выполнения на этой машине, как открытие, закрытие, запуск и т.д.:

@POST 
@Path("/car/{carid}/startup") 
public Response startup(@PathParam("carid")String carID) 

@POST 
@Path("/car/{carid}/open") 
public Response open(@PathParam("carid")String carID) 

@POST 
@Path("/car/{carid}/close") 
public Response close(@PathParam("carid")String carID) 

Есть ли общая проверка, сделанная в/car/{carid}, например, «это моя машина?» «Это в гараже?» или я должен реализовать его с абстракцией, например, между процессом, который будет вызываться после

Фактически я не понимаю реальную цель параметра пути. Почему не делают просто

@GET 
@Path("/car/displayCar") 
public Response getCar(@QueryParam("carid")String carID) 

@POST 
@Path("/car/startup") 
public Response startup(String carID) 

@POST 
@Path("/car/{carid}/open") 
public Response open(String carID) 

@POST 
@Path("/car/{carid}/close") 
public Response close(String carID) 

Спасибо всем вам ответить заранее

С наилучшими пожеланиями

Джеффри MUSELLI

+0

Итак, для начала, это не стук - просто уточнение. Если вы определяете действия в своем URL-адресе, вы, как правило, не разрабатываете API RESTful. Вы говорите RPC (не плохо, обязательно, просто разница в терминологии. – Gandalf

ответ

0

Есть много способов, чтобы пойти на это, как и REST RPC - и я не здесь, чтобы сказать, что лучше (вам нужно оценить, что будет проще/лучше/etc для потребителей вашего API [IMO]). Для этого я собираюсь пойти на него, используя подход REST.

Для отображения информации о одном автомобиле нет необходимости в конечной точке, заканчивающейся «отображением». A GET запрос/автомобиль/{автомобиль id} достаточно. В этом документе могут быть такие вещи, как текущее состояние автомобиля (открытое, закрытое, запущенное, взорванное и т. Д.). GET - это ваше действие,/car/{car id} - это ваша вещь, а документ возвращается (и excepts через POST или PUT являются протокол вашего API)

Смежные вопросы