添加XML支持后,响应的内容类型设置为application / xml

时间:2019-11-29 10:21:10

标签: spring spring-boot

我的另一个难题。 我有用于rest api的控制器:

@RestController()
@RequestMapping("/api/project")
public class ProjectController{
    @PreAuthorize("hasAuthority('ROLE_USER')")
    @GetMapping(value = "/{id}/severitychart")
    public ResponseEntity<HashMap<String,Long>> showSeverityChart(@PathVariable("id")Long id) {
        return projectService.showSeverityChart(id);
    }
}

效果很好,恢复了JSON的响应。

后来我不得不添加XML的处理-只是简单地解析给定XML消息并将其存储到数据库中就没什么了。仍应将所有响应都映射到JSON it was done using JAXBContext`

从现在开始,API调用的每个响应都返回标头为content-type: application/xml的XML结构化对象

是否可以将服务保持原样并且仍使用默认的JSON映射?

我不想在每个端点上放置produces = "application/json" ...

1 个答案:

答案 0 :(得分:2)

@EnableWebMvc
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
    @Override
    public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) {
        configurer.defaultContentType(MediaType.APPLICATION_JSON);
    }
}