我想根据端点配置自定义消息转换器。例如,我在 Spring 引导控制器中有以下两个端点:
@RequestMapping(value = "/all", method = RequestMethod.GET)
public ResponseEntity<Object> findAll{@PageableDefault(size = 10, page = 0) final Pageable pageable){
//code
}
@RequestMapping(value = "/object/{id}", method = RequestMethod.GET)
public ResponseEntity<Object> byId{@RequestParam("id" String id){
//code
}
对于这两个,我想使用不同的 HttpMessageConverter (反过来,对象映射器)实例。例如,我想为端点设置CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
策略,因为它是分页响应而不是./all
/object
应用程序已经configureMessageConverters
覆盖了方法,所有 API 都使用了一个 Objectmapper bean。如果我对此进行任何更改,它将适用于我不想要的所有端点。
有没有其他方法可以做到这一点?(类似于在findAll
方法本身中创建和使用自定义消息转换器)