Я понимаю, что пользовательские фильтры можно использовать в более ранней версии Spring MVC для реализации JSONP. Кроме того, этот пример описывает метод реализации JSONP в Spring MVC 3.1 путем расширения класса MappingJacksonHttpMessageConverter и изменения объектов предметной области.
Существует ли более простой (или традиционный) метод обращения к JSONP в Spring MVC 3.2, помимо использования вышеуказанных методов? Я вообще не видел, чтобы JSONP упоминался в документации Spring 3.2.
Ответ 1 · рейтинг 3 · Larry.Z
проще так
@RequestMapping(value = "/jsonp", method = RequestMethod.GET)
@ResponseBody
public String jsonp(@RequestParam("c")String callBack) throws Exception{
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = new HashMap<String, Object>();
map.put("data", "<p>jsonp data<p>");
return objectMapper.writeValueAsString(new JSONPObject(callBack,map));
}
Ответ 3 · рейтинг 1 · bhagyas
Вы можете просто использовать поддержку spring-jsonp от Bhagya Silva в качестве зависимости от вашего проекта.
https://github.com/bhagyas/spring-jsonp-support
Более подробная информация доступна в файле README.md.
Ответ 5 · Vasanth Umapathy
Вот самый простой способ справиться с этим сценарием
@GET
@Path("/jsonp")
@Produces("application/json")
public Response jsonp(@QueryParam("data") String json,
@QueryParam("callback") String callBack
@Context HttpServletRequest request) throws Exception {
String jsonResponse= "{ \"sttaus\" :\"some data\" }";
try{
.. // do your business logic
}catch(Exception e){ ... }
return Response.status(201).entity(callBack+"("+jsonResponse+")").build();
}