タスク情報を削除する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
レスポンス
想定どおりの動作を確認。
コメントを残す