私はSpring MVCアプリケーションを持っています。リソースが特定のメディアタイプをサポートしていないときを判断する方法が必要です。私はカスタムView Resolversでこれを行うことを考えていました...ビューリゾルバのどれもビュー名の一致が見つからない場合、サポートされていないメディアタイプ(HTTPコード406
)をトリガーする例外をスローします。Springでサポートされていないメディアタイプを判断するのに理想的なのはどこですか?
ほとんどのビューリゾルバは、指定されたビュー名を解決できない場合は、null
を返します。この問題は、特定のビュー名が存在しない場合でも、常にビューを返すInternalResourceViewResolver
のようなビューリゾルバで発生します。
@RequestMapping(value = "/viewTest", method = RequestMethod.GET)
public ModelAndView getViewData() {
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("rightNow", (new Date()).toString());
return new ModelAndView("foo", "model", myModel);
}
感謝:ちょうど参照として
は、ここに私のコントローラがどのように見えるかです!
'@ RequestHeader'は、コントローラメソッドの引数をHTTPヘッダーにバインドするために使用されます。この注釈では、サポートされるメディアタイプを制御することはできません。あなたが意味していたのは '@RequestMapping(...、produce = MediaType.APPLICATION_JSON_VALUE)'です。 –