私はJava/Springアプリケーションを持っています。私のエンドポイントSpring:デフォルトのHttpMessageConverterフォーマットを設定します。
www.url.xx/serach?q=omestuff
はデフォルトでJSONを出力します。今私はいくつかのエンドポイントを輸出したい。
私はCSVためMessageConverter作成:
public class SearchResultCsvConverter extends AbstractHttpMessageConverter {
public SearchResultCsvConverter() {
super(new MediaType("text", "csv"));
}
と魔法のエンドポイント
www.url.xx/serach.csv?q=omestuff
はcsvファイルを提供します。 Neato。
次の私は、HTML-輸出を作りたかったと同様に
public class SearchResultHtmlConverter extends AbstractHttpMessageConverter {
public SearchResultHtmlConverter() {
super(new MediaType("text", "html"));
}
HTMLエンドポイントを作った。しかし、悲しいかな!これで、デフォルトのエンドポイント(ファイル拡張子なし)がデフォルトのJSON出力ではなくなります(私の場合はHttpMessageConverterはありません)。
明示的に要求されている場合にのみ、デフォルトでコンバータを使用せず、HTMLコンバータを使用するように設定するにはどうすればよいですか?
- CSVエクスポートはその後、動作しないため、編集1 serach-エンドポイントは、 私は@RequestMappingに//produces={APPLICATION_JSON_UTF8_VALUE})
を持っていたが、それを削除...この
@RequestMapping(value="/search", method=RequestMethod.GET)
public @ResponseBody ResponseEntity<?> handleSearchRequest(@RequestParam("q") final String queryString) {
のように見えます。..
- 編集2
Aが出回っ
を持っていました@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON_UTF8);
}
を設定しなければならなかった考え出しました。 } – Paflow