증기 실전 2 - MVC
vapor build
에서 오 류 를 알 릴 수 있 습 니 다. 코드 파일 구 조 를 보십시오.// M
.
├── App
. └── Models
. └── User.swift
// V
.
├── App
└── Resources
└── Views
└── user.html
// C
.
├── App
. └── Controllers
. └── UserController.swift
Model
새로운 데이터 모델 류 는
Fluent
프레임 워 크 안의 Model
류 를 계승 해 야 한다. 한편 으로 는 편리 JSON
데이터 의 전환 이 고 다른 한편 으로 는 데이터 베이스 와 연결 하 는 데 편리 하 다.상속 자
Model
의 종 류 는 다음 과 같은 몇 가 지 를 주의해 야 한다.id
init(node: Node, in context: Context)
func makeNode(context: Context)
var id:Node?
안의 2 가지 방법 을 실현 해 야 한다. 데이터 베 이 스 를 조작 하 는 데 사용 되 는 것 이다. 데이터 베 이 스 를 조작 하지 않 으 면 바로 빈 공간 에서 실현 하면 된다. func prepare(_ database: Database)
func revert(_ database: Database)
보기 파일 은 폴 더
Preparation
의 하위 폴 더 에 저 장 됩 니 다. Resources
파일 일 수도 있 고 탭 언어 파일 일 수도 있 습 니 다. 템 플 릿 항목 의 보기 파일 은 View
접미사 입 니 다.보기 파일 을 다 쓴 후에
html
함수 로 접근 할 수 있 습 니 다. 예 를 들 어:drop.get("html") { request in
return try drop.view.make("index.html")
}
Controller
컨트롤 러 는 주로 코드 디 결합 을 편리 하 게 하고 서로 다른 업무 논 리 를 서로 다른 컨트롤 러 에 넣 습 니 다.
간단 한 컨트롤 러 는 아래 와 같이 사용 할 수 있 습 니 다.
final class HelloController {
func sayHello(_ req: Request) throws -> ResponseRepresentable {
guard let name = req.data["name"] else {
throw Abort.badRequest
}
return "Hello, \(name)"
}
}
그리고
leaf
상기 컨트롤 러 방법 을 설명 합 니 다.let hc = HelloController();
drop.get("hello", hc.sayHello);
이렇게 프로젝트 를 실행 하면
drop.view.make()
을 통 해 main.swift
방법 에 접근 할 수 있다.demo
https://github.com/AbooJan/VaporDemo
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.