Я могу вернуть ответ JSON в свой ресурс Dropwizard без каких-либо проблем. Но когда я попытался вернуть JSONPObject, ответ по-прежнему возвращает JSON, а не JSON, завернутый в запрошенную функцию обратного вызова.Сериализовать JSONP/JSONPObject в Dropwizard
@Path("/results")
@Produces(MediaType.APPLICATION_JSON)
public class ExperimentResultResource {
...
@Path("results/{experimentId}")
@GET
@Timed
public Object getResults(
@PathParam("experimentId") @NotEmpty long experimentId,
@QueryParam("callback") String callback) {
....
ExperimentResultRepresentation representation = dataSource.queryResults(query);
if (callback != null) {
JSONPObject obj = new JSONPObject(callback, representation);
return obj;
}
return representation;
}
Хорошая вещь в том, что, вместо того, выплевывая оригинальный JSON, он сделал включать serializationType
и function
элемент в теле JSON:
{
"value": { // the original JSON body }
"serializationType": null,
"function": "jQuery17209002291325014085_1450240336024"
}
Я также попытался включая @JSONP
аннотацию над метод также. Не повезло.
Любая идея?