エンドポイントに基づいてカスタム メッセージ コンバーターを構成したいと考えています。たとえば、Spring ブート コントローラーには以下の 2 つのエンドポイントがあります。
@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
(メソッド自体でカスタム メッセージ コンバーターを作成して使用するようなもの)