#20 [SpringBoot/KotlinでBFF]削除 DELETEの実装

タスク情報を削除するAPIを実装する。

Controller層

クエリーパラメータに更新する対象のIDを指定、リクエストbodyはなし。レスポンスのHTTP statusはレスポンスデータが無いので204 No Contentを返す。戻り値の型も必要ないので削除。

    @DeleteMapping("/{taskId}")
    @ResponseStatus(HttpStatus.NO_CONTENT)
    fun deleteTask(@PathVariable("taskId") taskId: Int) {
        taskService.deleteTask(taskId)
    }

Service層

Service層ではRepository層を呼び出すのみ。

    fun deleteTask(taskId: Int) {
        taskRepository.deleteTask(taskId)
    }

Repository層

レスポンスデータが必要ないので簡単に使用できるRestTemplateのdelete関数で外部APIを呼び出す。

    fun deleteTask(taskId: Int) {
        val uri = "$taskApiUrl/tasks/$taskId"
        restTemplate?.delete(uri)
    }

確認

POSTMANで実際にリクエストを投げてみて確認。
(外部APIのTask-API側はDELETEするとHTTP STATUS 201を返すように設定してある。)

リクエスト
DELETE
http://localhost:8080/tasks/12345

レスポンス

想定どおりの動作を確認。

コード

https://github.com/little-engineer/bff-sample/pull/24/files

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
little
15年以上プログラマーをしているエンジニアです。Kotlin, Java, Python, C++を使用したServerSideの開発に携わってきました。とりあえずやってみるスタイルで記事を更新していきます。