Synchronize the code with the guide

This commit is contained in:
Sebastien Deleuze
2019-10-18 10:10:56 +02:00
parent f2f88936fb
commit 28a8ac086e
3 changed files with 6 additions and 4 deletions

View File

@@ -1,10 +1,12 @@
package com.example.blog package com.example.blog
import org.springframework.http.HttpStatus.*
import org.springframework.stereotype.Controller import org.springframework.stereotype.Controller
import org.springframework.ui.Model import org.springframework.ui.Model
import org.springframework.ui.set import org.springframework.ui.set
import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.server.ResponseStatusException
@Controller @Controller
class HtmlController(private val repository: ArticleRepository, class HtmlController(private val repository: ArticleRepository,
@@ -23,7 +25,7 @@ class HtmlController(private val repository: ArticleRepository,
val article = repository val article = repository
.findBySlug(slug) .findBySlug(slug)
?.render() ?.render()
?: throw IllegalArgumentException("Wrong article slug provided") ?: throw ResponseStatusException(NOT_FOUND, "This article does not exist")
model["title"] = article.title model["title"] = article.title
model["article"] = article model["article"] = article
return "article" return "article"

View File

@@ -13,7 +13,7 @@ class ArticleController(private val repository: ArticleRepository) {
@GetMapping("/{slug}") @GetMapping("/{slug}")
fun findOne(@PathVariable slug: String) = fun findOne(@PathVariable slug: String) =
repository.findBySlug(slug) ?: throw ResponseStatusException(NOT_FOUND, "Wrong article slug provided") repository.findBySlug(slug) ?: throw ResponseStatusException(NOT_FOUND, "This article does not exist")
} }
@@ -25,5 +25,5 @@ class UserController(private val repository: UserRepository) {
fun findAll() = repository.findAll() fun findAll() = repository.findAll()
@GetMapping("/{login}") @GetMapping("/{login}")
fun findOne(@PathVariable login: String) = repository.findByLogin(login) fun findOne(@PathVariable login: String) = repository.findByLogin(login) ?: throw ResponseStatusException(NOT_FOUND, "This user does not exist")
} }

View File

@@ -8,6 +8,6 @@ interface ArticleRepository : CrudRepository<Article, Long> {
} }
interface UserRepository : CrudRepository<User, Long> { interface UserRepository : CrudRepository<User, Long> {
fun findByLogin(login: String): User fun findByLogin(login: String): User?
} }