Open1
【kotlin x SpringBoot】空のレスポンスを返すときの選択肢について
空のレスポンスを返す際に、こういう風にして欲しい、という依頼を受け、やり方を調べた際のメモ
完全に何も返さない
その1
実装コード
return ResponseEntity(HttpStatus.OK)
レスポンス(200OK)
その2
実装コード
return ResponseEntity.ok().build()
レスポンス(200OK)
空のJsonオブジェクトを返す
その1
実装コード
完全に空のクラスを実装
package ...
class EmptyResponse {}
return ResponseEntity.ok().body(EmptyResponse())
レスポンス(200OK)
{}
その2
実装コード
return ResponseEntity.ok().body(HashMap<String, Any>())
レスポンス(200OK)
{}
その3
実装コード
val objectMapper = ObjectMapper()
val json = objectMapper.createObjectNode()
return ResponseEntity.ok().body(json)
レスポンス(200OK)
{}
その4
実装コード
// `EMPTY_RESPONSE`はOkHttpライブラリより。internalなのであまり良くないかも。
import okhttp3.internal.EMPTY_RESPONSE
// 省略
return ResponseEntity.ok().body(EMPTY_RESPONSE)
レスポンス(200OK)
{}