2013-12-24 3 views
2

По дизайну операцию GET следует использовать только для чтения Только для работы. Howeevre, я ищу правдоподобный способ реализации следующего. Дополните операцию POST, которая может быть вызвана, как это указано нижеРабота с POST-сервером с PathParam и объектом JSON

POST/my-store/order/D: где D - день, когда клиент разместил заказ

Запрос: POST/мой-магазин/заказ/14 { "клиент": "XYZ", "порядок": { "item1": 2 } }

Я попытался реализации используя функцию ниже

@Path("/D") 
@POST 
@Consumes({ MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON }) 
@Produces({ MediaType.APPLICATION_JSON }) 
public Response submitOrder(@PathParam("D") int elapsedDays, @Context UriInfo  uriInfo,  Order orderInfo){ 
.......... 
} 

Но вышеуказанная реализация не работает. Когда я пытаюсь протестировать реализацию с помощью MyEclipse REST explorer, она не предлагает вариант передать объект Order, но разрешает только параметр «D». Однако, если @PathParam и @Path удалены, то он отлично работает, то есть позволяет использовать объект Order JSON.

Но требование состоит в том, чтобы передать дни как параметр Path и объект Order в качестве входа JSON в запрос POST.

Ищет предложение относительно подхода к внедрению и подхода к проектированию.

Заранее спасибо

ответ

0

С одной стороны, ваш путь должен быть настроен следующим образом:

@Path("/{D}") 

Я полагаю, ваши расширенные эллипсы означает, что вы имеете некоторый параметр метода, который представляет десериализации вашего заказа.

+0

Спасибо Vidya. Поскольку я triy с параметром @Path ("/ {D}"). MyEclipse REST explorer перестает запрашивать возможность ввода объекта JSON и просто позволяет ввести параметр Method. – user3131501

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