Статус ответа HTTP SpringBoot Kotlin Api

Я начинаю с kotlin, и если кто-нибудь может мне помочь, у меня возник вопрос о том, как я могу вернуть статус http, когда мой true, если он вернет 200 Ok, и когда это какой-либо другой путь, верните 404 NotFound.

Я пытался сделать это в соответствии с приведенным ниже кодом, но он возвращает статус 200 Ok, во всех ситуациях

@DeleteMapping("{id}") fun delete(@PathVariable id: Long): ResponseEntity<Unit> { try { if (dogRepository.exists(id)) { dogRepository.delete(id) } return ResponseEntity.ok().build() } catch (e: Exception) { return ResponseEntity.notFound().build() } } 

Я думаю, что блок else может сделать это

  @DeleteMapping("{id}") fun delete(@PathVariable id: Long): ResponseEntity<Unit> { try { if (dogRepository.exists(id)) { dogRepository.delete(id) return ResponseEntity.ok().build() } else { return ResponseEntity.notFound().build() } } catch (e: Exception) { return ResponseEntity.notFound().build() } } 

Вы никого не выбрасываете исключение, поэтому блок catch не выполняется. Вот обновленный код.

@DeleteMapping("{id}") fun delete(@PathVariable id: Long): ResponseEntity { try { if (dogRepository.exists(id)) { dogRepository.delete(id) return ResponseEntity.ok().build() } return ResponseEntity.notFound().build() } catch (e: Exception) { return ResponseEntity.notFound().build() } }
@DeleteMapping("{id}") fun delete(@PathVariable id: Long): ResponseEntity { try { if (dogRepository.exists(id)) { dogRepository.delete(id) return ResponseEntity.ok().build() } return ResponseEntity.notFound().build() } catch (e: Exception) { return ResponseEntity.notFound().build() } } 

Вы можете проверить заголовок ответа через curl. Например curl -v -X DELETE http://YOUR_API_URL

  • Spring Boot не может запускать одиночный тест в IntelliJ
  • Неразрешенная ссылка при ссылке на Java-код из тестов Kotlin в проекте Spring Boot с использованием Gradle
  • Spring Boot: добавление @Transactional создает java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder $ PartialComparable
  • Kotlin + Spring загрузка запроса сортировки
  • Как преобразовать этот код Java в код Kotlin?
  • Как добавить класс kotlin в градиентную задачу JavaCompile
  • Разбор объекта json с динамическим полем в Котлине
  • Давайте будем гением компьютера.