2
私はコンテンツネゴシエーションオプションとしてmsgpackバイナリdataformatを追加しようとしています。 JsonとXmlはすぐに使えます。私はthis examleのように、jackson msgpackマッパーをbeanとして追加しようとしましたが、動作しません。私の要求にAccept: application/x-msgpack
ヘッダーを追加すると406 Not Acceptable
コードが返されます。spring mvc + bootへのコンテンツネゴシエーションとしてmsgpackを追加
は、ここに私のWebConfigです:
@Configuration
@EnableWebMvc
@SuppressWarnings("unused")
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public HttpMessageConverter messagePackMessageConverter() {
return new AbstractJackson2HttpMessageConverter(
new ObjectMapper(new MessagePackFactory()),
new MediaType("application", "x-msgpack")) {
};
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false)
.ignoreAcceptHeader(false)
.favorParameter(true)
.defaultContentType(MediaType.APPLICATION_JSON)
.mediaType("xml", MediaType.APPLICATION_XML)
.mediaType("msgpack", new MediaType("application", "x-msgpack"));
}
}
私は私のDTOオブジェクトに特別な注釈を追加していない、と私のコントローラは、いずれかの普通の何物でもありません。
マイmsgpack依存性がある:
org.msgpack:jackson-dataformat-msgpack:0.7.0-p3