수색…


소개

신속한 서버 Kitura

Kitura 는 웹 서비스 용으로 작성된 신속한 웹 프레임 워크입니다. HTTP 요청을 설정하는 것은 매우 쉽습니다. 환경을 위해서는 XCode가 설치된 OS X 또는 swift 3.0이 실행되는 Linux가 필요합니다.

Hello world 응용 프로그램

구성

먼저 Package.swift라는 파일을 만듭니다. 이 파일은 라이브러리가있는 곳의 신속한 컴파일러에 알려주는 파일입니다. 이 hello world 예제에서는 GitHub repos를 사용하고 있습니다. KituraHeliumLogger 가 필요합니다. 다음 코드를 Package.swift에 넣습니다. 그것은 프로젝트의 이름을 kitura-helloworld 와 의존성 URL로 지정했습니다.

import PackageDescription
let package = Package(
    name: "kitura-helloworld",
        dependencies: [
            .Package(url: "https://github.com/IBM-Swift/HeliumLogger.git", majorVersion: 1, minor: 6),
            .Package(url: "https://github.com/IBM-Swift/Kitura.git", majorVersion: 1, minor: 6) ] )

그런 다음 소스라는 폴더를 만듭니다. 내부에 main.swift라는 파일을 만듭니다. 이 파일은이 애플리케이션에 대한 모든 로직을 구현 한 파일입니다. 이 주 파일에 다음 코드를 입력하십시오.

라이브러리 가져 오기 및 로깅 사용

import Kitura
import Foundation
import HeliumLogger

HeliumLogger.use()

라우터 추가 중. 라우터는 HTTP 요청의 경로, 유형 등을 지정합니다. 여기에 Hello world 를 인쇄하는 GET 요청 처리기를 추가 한 다음 요청에서 일반 텍스트를 읽은 후 다시 전송하는 게시 요청을 추가합니다.

let router = Router()

router.get("/get") {
    request, response, next in
    response.send("Hello, World!")
    next()
}

router.post("/post") {
    request, response, next in
    var string: String?
    do{
        string = try request.readString()
        
    } catch let error {
        string = error.localizedDescription
    }
    response.send("Value \(string!) received.")
    next()
}

서비스를 실행할 포트 지정

let port = 8080

라우터와 포트를 묶어 HTTP 서비스로 추가합니다.

Kitura.addHTTPServer(onPort: port, with: router)
Kitura.run()

실행

Package.swift 파일 및 Resources 폴더가있는 루트 폴더로 이동합니다. 다음 명령을 실행하십시오. Swift 컴파일러는 Package.swift에 언급 된 리소스를 Packages 폴더에 자동으로 다운로드 한 다음 main.swift를 사용하여 이러한 리소스를 컴파일합니다.

swift build

빌드가 완료되면 실행 파일이이 위치에 배치됩니다. 이 실행 파일을 두 번 클릭하여 서버를 시작하십시오.

.build/debug/kitura-helloworld

유효성 검사

브라우저를 열고 localhost:8080/get url을 입력하고 Enter 키를 누릅니다. 안녕하세요 세계 페이지가 나옵니다.

여기에 이미지 설명을 입력하십시오.

HTTP 요청 응용 프로그램을 열고 일반 텍스트를 localhost:8080/post . 응답 문자열은 입력 된 텍스트를 올바르게 표시합니다.

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow