jsonpはドメイン間アクセスを行い、パラメータの戻り値としてコールバック関数の2つのタイプ

931 ワード

jsonpはドメイン間アクセスを行い、パラメータの戻り値としてコールバック関数の2つのタイプ
1つ目は戻り文字列(多くはjson列)で、callback+"("+json+");";
@RequestMapping(value="/item/list", 
			produces=MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8")
	@ResponseBody
	public String getItemCatList(String callback) {
		CatResult catResult = itemCatService.getItemCatList();
		// pojo      
		String json = JsonUtils.objectToJson(catResult);
		//     
		String result = callback + "(" + json + ");";
		return result;
	}

2つ目はobjectを返しjackjsonが提供するパッケージクラスを利用してデータを返す
@RequestMapping("/item/list")
	@ResponseBody
	public Object getItemCatList(String callback) {
		CatResult catResult = itemCatService.getItemCatList();
		MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(catResult);
		mappingJacksonValue.setJsonpFunction(callback);
		return mappingJacksonValue;
	}