我的另一个难题。 我有用于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"
...
答案 0 :(得分:2)
@EnableWebMvc
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Override
public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON);
}
}