オブジェクトの json リストを返すレスト コントローラーがあります。メソッド1を呼び出すと、必要に応じて機能します。あるリクエストでは特定のプロパティを無視し、他のリクエストでは無視するようにシリアル化を構成する必要がある場合、mixIn アノテーションと objectMapper を使用しています。オブジェクトを返すと、以前のようにjsonではなくxmlになります。誰でも助けることができますか?私は今文字列を返していることに気づきましたが、1と同じレスポーズが必要な場合は、文字列をオブジェクトに変換し、以前と同じようにresponseEntityで返す必要がありますか?
1)
@RequestMapping(value = "/search", method = RequestMethod.POST)
public ResponseEntity<List<MyObject>> search(@RequestBody SearchParams searchParams){
List<MyObject> result = myService.find(searchParams);
return new ResponseEntity<List<MyObject>(result, HttpStatus.OK);
}
戻り値
[
{"prop1":"val1", "prop2":"val2"},
{"prop1":"val3", "prop2":"val4"}
]
2)
@RequestMapping(value = "/search", method = RequestMethod.POST)
public ResponseEntity<String> search(@RequestBody SearchParams searchParams){
List<MyObject> result = myService.find(searchParams);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.getSerializationConfig().addMixInAnnotations(MyObject.class, MyObjectFilter.class);
String json = objectMapper.writeValueAsString(result);
return new ResponseEntity<String>(json, HttpStatus.OK);
}
戻り値
<data contentType="text/plain;charset=ISO-8859-1" contentLength="*"><![CDATA[
[
{"prop1":"val1", "prop2":"val2"},
{"prop1":"val3", "prop2":"val4"}
]
]]></data>
これは、json タブではなく、soapui の xml タブに表示されます。誰か助けてくれる?