これはこのサイトでは有効な質問ではありませんが、ContentNegotiatingViewResolverを経験した人がこれを見て、正しく設定しても404のメッセージを送信するのに役立つかどうかを知ることができますか?My Spring-MVC ContentNegotiatingViewResolverは正しく設定されていますか?サポートされていないメディアタイプに対して404エラーを送信するにはどうすればよいですか?
私がしたいのは、拡張子のないすべてのURLをHTML表現(私の場合はfreemarkerビュー)にすることです。私は代わりにjsonをレンダリングするために、それらに ".json"を付加したURLを受け入れたいと思います。これはfirefox、すなわちchromeで動作するようです。私はそれが他のブラウザで動作すると思いますか?私はacceptヘッダーを無効にすることを確かめました。なぜなら、ドキュメントがそうするように実際には動作しない悪質な機能だからです。
私は ".stuff"でURLにアクセスしようとしましたが、何が起こるかを見るために、私の設定では空白の画面が表示されます。これは受け入れられますか? 404エラーを送信する方法はありますか?
私は正しく構成されていないことがありますか?
<bean id="contentNegotiatingViewResolver"
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1"/>
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="text/html" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json"/>
</map>
</property>
<property name="useNotAcceptableStatusCode" value="true" />
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="application/json" />
</bean>
</list>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="contentType" value="text/html" />
<property name="order" value="2"/>
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".ftl"/>
<property name="exposeSpringMacroHelpers" value="true"/>
</bean>
</list>
</property>
</bean>