Я не знаю, является ли это действительным вопросом для этого сайта, но мне было интересно, может ли кто-нибудь, имеющий опыт работы с ContentNegotiatingViewResolver, просмотреть это и сообщить мне, правильно ли я его настроил, и помочь мне отправить 404 сообщения.*
Что я хотел бы сделать, это сделать все URL-адреса без расширения по умолчанию для представления HTML (что в моем случае является представлениями свободного маркера).Я хотел бы принять URL с добавленным к ним «.json» для рендеринга json.Это похоже на работу в Firefox, то есть и Chrome.Я предполагаю, что это работает в других браузерах?Я удостоверился, что отключил заголовок accept, потому что это злая функция, которая на самом деле не работает, как написано в документации.
Я попытался получить доступ к URL с помощью ".stuff", просто чтобы посмотреть, что происходит,и с моей конфигурацией происходит пустой экран.Это приемлемо?Можно ли как-нибудь отправить ошибку 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>