質問

スプリング3コントローラー

@RequestMapping(value = "/employee/{id}", RequestMethod.GET)
public @ResponseBody Employee getEmployee(@PathVariable long empID) {
    Employee employee = employeeService.getByID(empID);
    return employee;
}

JSONが以下のように戻るように、どのファイルを変更する必要がありますか

戻る代わりに "['foo', 'bar']"

これを返してください "/*['foo', 'bar']*/" (コメント付き)?

役に立ちましたか?

解決

カバーの下で、spring MVCはaに代表されます HttpMessageConverter シリアル化を実行します。この場合、スプリングMVCはaを呼び出します MappingJacksonHttpMessageConverter に構築されています ジャクソンJSONプロセッサ. 。この実装は、使用すると自動的に有効になります MVC:注釈駆動型 wとの構成要素 ジャクソンはあなたのクラスパスに存在します。

だから、あなたはあなた自身を提供することができます HttpMessageConverter オーバーライドによる実装

protected void writeInternal(Object o,
                         HttpOutputMessage outputMessage)
                  throws IOException,
                         HttpMessageNotWritableException

の方法 mappingjacksonhttpmessageconverter, 、目的をサーバーできます。

他のヒント

コメントに関するクイックメモ:コメントはJSON仕様の一部ではないため、それらを使用することは標準以外のJSONを使用することを意味します。

それが価値があることについては、いくつかのJSONパーサー(ジャクソンを含む)を処理するコメント(ジャクソンについては、 http://wiki.fasterxml.com/jacksonfeaturesparser);それらを書くだけでなく、それらを使用する必要があります 'jsongenerator.writeraw( "/.../")').

しかし、春には応答を飾る方法があるかもしれません。おそらく実装がより簡単になるからです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top