No sé si esta es una pregunta válida para este sitio, pero me preguntaba si alguien con experiencia en ContentNegotiatingViewResolver podría ver esto y dejarme saber si lo configuré correctamente y si me ayudó a enviar mensajes 404.¿Está configurada correctamente My Spring-MVC ContentNegotiatingViewResolver? ¿Cómo puedo enviar un error 404 para tipos de medios no compatibles?
Lo que me gustaría hacer es hacer que todas las direcciones URL sin extensión tengan por defecto la representación HTML (que es vistas de freemarker en mi caso). Me gustaría aceptar las URL con ".json" adjunto a ellos para representar a json en su lugar. Esto parece funcionar en Firefox, es decir, y Chrome. Supongo que funciona en otros navegadores. Me aseguré de desactivar el encabezado de aceptación porque es una característica maligna que realmente no funciona como dice la documentación.
He intentado acceder a las URL con ".stuff", solo para ver qué sucede, y con mi configuración, aparece una pantalla en blanco. ¿Es esto aceptable? ¿Hay alguna forma en que pueda enviar un error 404?
¿Hay algo más que no haya configurado correctamente?
<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>