6

以前のバージョンのSpringMVCでカスタムフィルターを使用してJSONPを実装できることを理解しています。さらに、この例MappingJacksonHttpMessageConverterでは、クラスを拡張してドメインオブジェクトを変更することにより、SpringMVC3.1でJSONPを実装する方法について説明します。

上記の方法を使用する以外に、Spring MVC 3.2でJSONPに対処するためのより簡単な(または従来の)方法はありますか?Spring3.2のドキュメントでJSONPがまったく取り上げられていませんでした。

4

5 に答える 5

3

このようなより簡単な方法

@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));
}
于 2013-08-09T09:15:42.027 に答える
1

プロジェクトへの依存関係として、Bhagya Silva による spring-jsonp-support を簡単に使用できます。

https://github.com/bhagyas/spring-jsonp-support

詳細については、README.md ファイルを参照してください。

于 2013-03-22T16:01:03.343 に答える
0

このシナリオを処理する最も簡単な方法は次のとおりです

   @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(); 
   }
于 2014-08-05T18:38:13.003 に答える