Манипуляции с конечной точкой API Dropwizard Rest
У меня есть приложение dropwizard для запроса POST/GET информации. у меня есть @POST
метод, который заполняет arrayList моим запросом и его параметрами ' 11. Для краткости я сократил пример, чтобы показать только 3 параметра.
@Path("/query")
public class QueryResource
@GET
@Produces(MediaType.APPLICATION_JSON)
@Timed
public List<Query> getQueries() {
List<Query> queries = new ArrayList<Query>();
logger.info("Calling get queries with {} method.");
queries.add(new Query("b622d2c6-03b2-4488-9d5d-46814606e550", "eventTypeThing", "action"));
return queries;
Я могу отправить запрос на получение через ARC, и он вернется успешно с JSON-представлением запроса.
Я сталкиваюсь с проблемами, когда я пытаюсь сделать @GET
запрос по конкретному queryId
и вернуть определенный параметр этого. В качестве таких,
@GET
@Path("/{queryId}/action")
public Response getAction(@PathParam("queryId") String queryId, @PathParam("action") String action){
logger.info("Get action by queryId {}");
String output = "Get action: " + action;
return Response.status(200).entity(output).build();
На остальном клиенте я делаю запрос на получение https://localhost/query/b622d2c6-03b2-4488-9d5d-46814606e550/action
Я ожидаю, что вернуть тип действия этого конкретного queryId
, но вместо этого возвращает ноль.
1 ответ
Вы не объявили "действие" как правильный параметр в аннотации @Path метода. Вам нужно изменить это на:
@Path("/{queryId}/{action}")