在我的web應用程序中,我所有的消息轉換器都已到位,如果我在下面更改getContent以返回一個bean/pojo,它會以「application/json; charset = UTF-8「,這是預期的,但我現在想要」按原樣「服務JSON。從Spring控制器使用內容談判服務JSON「原樣」
E.g.我有一個簡單的存根Web服務,用戶可以將PUT一個JSON內容的blob保存在某個地方,然後用一個等效的GET調用讀取它。
@Controller
public class StubController {
@Autowired
@Qualifier("keyValueStore")
private KVStore kv;
@RequestMapping(value = "/stub/{id}", method = RequestMethod.GET)
public @ResponseBody
String getContent(@PathVariable("id") final String id) {
return kv.get(id);
}
@RequestMapping(value = "/stub/{id}", method = RequestMethod.PUT)
public String putContent(@PathVariable("id") final String id, @RequestBody String body) {
kv.set(id, body);
return "redirect:/stub/"+id;
}
}
然而,吸氣劑返回報頭 「內容類型:文本/ HTML;字符集= UTF-8」 如果我叫在瀏覽器http://host/stub/123.json。我猜這是因爲我沒有返回任何被Jackson轉換器「轉換」的東西,因此返回的頭文件沒有被修改。
我需要它是應用程序/ json - 任何想法該怎麼辦?也許我可以指定返回標題的註釋?