SpringRESTサービスを使用して実装されたハートビートAPIがあります。
@RequestMapping(value = "heartbeat", method = RequestMethod.GET, consumes="application/json")
public ResponseEntity<String> getHeartBeat() throws Exception {
String curr_time = myService.getCurrentTime();
return Util.getResponse(curr_time, HttpStatus.OK);
}
そして、MyService.javaには以下のメソッドがあります。
public String getCurrentTime() throws Exception {
String currentDateTime = null;
MyJson json = new MyJson();
ObjectMapper mapper = new ObjectMapper().configure(SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION, false);
try {
Date currDate = new Date(System.currentTimeMillis());
currentDateTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(currDate);
json.setTime(currentDateTime);
ObjectWriter writer = mapper.writerWithView(Views.HeartBeatApi.class);
return writer.writeValueAsString(json);
} catch (Exception e) {
throw new Exception("Excpetion", HttpStatus.BAD_REQUEST);
}
}
期待どおりに機能しますが、2つの問題があります。
このAPIを呼び出すとき、Content-Typeヘッダーは必須であり、このヘッダーをオプションにする方法を知りたいです。
Google Protobufなどの他の形式をサポートできるように「Accept」ヘッダーを追加するにはどうすればよいですか?
ありがとう!