が要求したContentNegotationStrategyに依存している、箱から出して使用可能なデフォルトの実装がありますが、あなたとコンテンツネゴシエーションを設定し、使用するには
を希望する場合、また、あなた自身を実装することができますHTTPメッセージコンバータを使用して春:
あなたは春のMVCでコンテントネゴシエーションを有効にする必要があります。
<bean id="cnManager"
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="true"/>
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="application/json" />
<property name="useJaf" value="false"/>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
</bean>
またはJavaを使用した設定:これはexempleある
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void configureContentNegotiation(
ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(true).
ignoreAcceptHeader(true).
useJaf(false).
defaultContentType(MediaType.TEXT_HTML).
mediaType("html", MediaType.TEXT_HTML).
mediaType("xml", MediaType.APPLICATION_XML).
mediaType("json", MediaType.APPLICATION_JSON);
}
}
をあなたはREST要求を処理しようとするか、単にAJAXをしようとしていますリクエスト? jspを返すメソッドとJSONまたはXMLコンテンツを返す@ResponseBodyで注釈を付けたメソッドを持つ特定のコントローラを作成することができます –
1つの休憩リクエスト(example.com/get/resourceIDなど)を持っていて、 web jsp、json xml ...)。コンテンツネゴシエーションに基づいて別のハンドラを設定するにはどうすればよいですか? – user9370976