Tag: media type

在Spring Boot中,通过扩展MappingJackson2HttpMessageConverter添加自定义转换器似乎覆盖了现有的转换器

我正在尝试为自定义媒体类型创建转换器,如application/vnd.custom.hal+json 。 我在这里看到了这个答案,但由于您无法访问AbstractHttpMessageConverter ( MappingJackson2HttpMessageConverter超类)的受保护构造函数,因此无法正常工作。 这意味着以下代码不起作用: class MyCustomVndConverter extends MappingJacksonHttpMessageConverter { public MyCustomVndConverter (){ super(MediaType.valueOf(“application/vnd.myservice+json”)); } } 但是,以下方法确实有效,并且基本上只是模仿构造函数实际执行的操作: setSupportedMediaTypes(Collections.singletonList( MediaType.valueOf(“application‌​/vnd.myservice+json”) )); 所以我为我的class级做了这个,然后按照Spring Boot的文档将转换器添加到我现有的转换器列表中。 我的代码基本上是这样的: //Defining the converter; the media-type is simply a custom media-type that is //still application/hal+json, ie, JSON with some additional semantics on top //of what HAL already adds to JSON public class […]

Spring 3.1或更高版本@RequestMapping使用/生成

我有一个关于消费的问题,并产生@RequestMapping一部分。 我有一个端点,我想接受JSON和XML,并在传入JSON时返回JSON,并在传入XML时返回XML。我需要做些什么特别的事情才能使其工作? 示例代码如下所示。 @RequestMapping(value = “/something”, method = PUT, consumes = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE}, produces = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE}) public SomeObject updateSomeObject(SomeObject acct) { return doStuff(acct); } 这会以我期望的方式工作还是需要两个端点updateSomeObjectXML和updateSomeObjectJson来处理这两种情况? 谢谢,迈克