Kotlin Springboot -- Part 3 컨트롤러 を 리소스 層にして Usecase につなげる
6879 단어 cakotlinspringboot
HTMLController を SpringbootResource にする
package com.example.springboot
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
import org.springframework.ui.set
import org.springframework.web.bind.annotation.GetMapping
@Controller
class HtmlController {
@GetMapping("/")
fun nanika(model: Model): String {
model["title"] = "SpringBlog"
return "index"
}
}
これが HtmlContorller.kt というファylで書かれていて
アプリを起動すると index に渡したものを表示する
MVC のアーキンにしたがっ て 콘트로라 と名付けていた
CA に変えるので リソースにする
@Controller
class SpringbootResource {
@GetMapping("/")
fun root(model: Model): String {
model["title"] = "Springboot Root"
return "index"
}
}
これでりソースとして使う.
Usecase を呼びやすくする
fun getTaroHanakoName():String {
val taroName = taro.findName()
val hanakoName = hanako.findName()
return "$taroName,$hanakoName";
}
Usecase の関数を呼びやすいまとめるものにする
SpringbootResource와 모델 및 템플릿 を噛ませながら Usecase を呼ぶ
@GetMapping("/names")
fun taro(model:Model): String {
model["title"] = getTaroHanakoName()
return "index"
}
모델과 인덱스 のTENPREIGHTを噛ませて
유스케이스 からの値を出力する
これで/names にアクセスした時に Usecase -> Driver まで動いて
中身を web に出せた.
2022-08-29 00:14:57.777 ERROR 1463816
--- [nio-8080-exec-1] org.thymeleaf.TemplateEngine :
[THYMELEAF][http-nio-8080-exec-1]
Exception processing template "Taro":
Error resolving template [Taro],
template might not exist or might not be accessible
by any of the configured Template Resolvers
なお、 Thymleaf を使ってしまっているので
템플릿 와 모델 나시로直接 Usecase を
Getmapping に噛ませ用途する과 失敗する.
まとめ
Kotlin Springboot 에서 Rest/Resource 層から
Usecase -> Driver としてデータをとってくるため에
旧来の Controller の書き方で書いて、名前を Resource にして
Usecase の呼び出しの結果を 모델 に渡して
template で表示する.
Reference
이 문제에 관하여(Kotlin Springboot -- Part 3 컨트롤러 を 리소스 層にして Usecase につなげる), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/kotlin-springboot-part-3-controller-wo-resource-ceng-nisite-usecase-nitunageru-709텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)