Tôi không biết nếu đây là câu hỏi hợp lệ cho trang web này, nhưng tôi tự hỏi liệu có ai đó đã trải qua ContentNegotiatingViewResolver có thể xem qua và cho tôi biết nếu tôi thiết lập chính xác và cũng như giúp tôi gửi tin nhắn 404.Thiết lập Spring-MVC ContentNegotiatingViewResolver của tôi có chính xác không? Làm cách nào để gửi lỗi 404 cho các loại phương tiện không được hỗ trợ?
Điều tôi muốn làm là tạo tất cả các url không có phần mở rộng mặc định cho biểu diễn HTML (đây là chế độ xem freemarker trong trường hợp của tôi). Tôi muốn chấp nhận các url với ".json" được gắn vào chúng để thay thế json. Điều này dường như hoạt động trong firefox, tức là và chrome. Tôi đoán nó hoạt động trong các trình duyệt khác? Tôi đã đảm bảo vô hiệu hóa tiêu đề chấp nhận vì đó là một tính năng độc ác không thực sự hoạt động giống như tài liệu cho biết.
Tôi đã cố gắng truy cập các url bằng ".stuff", chỉ để xem điều gì xảy ra và với cấu hình của tôi, màn hình trống sẽ xảy ra. điều này có chấp nhận được không? Có cách nào tôi có thể gửi lỗi 404 không?
Có điều gì khác mà tôi có thể chưa định cấu hình đúng không?
<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>