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)

{}