PART 1: Server Side Swift with Perfect: Getting Started

說明: 此為個(gè)人學(xué)習(xí)筆記,推薦大家去raywenderlich學(xué)習(xí)
https://videos.raywenderlich.com/courses/77-server-side-swift-with-perfect/lessons/1

下載地址: demo

運(yùn)行環(huán)境說明:

  • Xcode 8
  • swift 3

一、搭建一個(gè)簡(jiǎn)單的本地服務(wù)器

  1. 通過終端創(chuàng)建項(xiàng)目

  2. mkdir hello-perfect

  3. cd hello-perfect/

  4. swift package init --type executable

  5. swift package generate-xcodeproj

  6. open ./hello-perfect.xcodeproj/

  7. 添加PerfectlySoft依賴庫

  8. 在Xcode中選中Package.swift, 添加以下代碼


  9. 繼續(xù)打開終端輸入:swift package update

  10. 終端輸入:swift package generate-xcodeproj

  11. 測(cè)試是否導(dǎo)入成功

  12. 用Xcode打開項(xiàng)目,選擇Source—> hello-perfect —>main.swift

  13. 輸入import PerfectLib import PerfectHTTP import PerfectHTTPServer
  14. 編譯不報(bào)錯(cuò)即證明成功

  15. 添加文本,重新打包

  16. 打開終端創(chuàng)建文件

  17. mkdir webroot

  18. touch webroot/hello.tet

  19. 重新打包:swift package generate-xcodeproj

  20. 用Xcode打開項(xiàng)目,在hello.txt添加文字:hello, web server!

  21. 創(chuàng)建Http Server

  22. 在main.swift中輸入
  23. edit scheme
  24. 選擇,Options,選擇Use custom working directory,目錄為當(dāng)前項(xiàng)目

     ![image.png](http://upload-images.jianshu.io/upload_images/1969359-426e7e6096d030a8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
  25. Build & Run
    成功的話控制臺(tái)會(huì)輸出:[INFO] Starting HTTP server on 0.0.0.0:9090
    注:如果失敗的話,可能是端口被占用,更換端口即可

  26. 用瀏覽器敲入:http://localhost:9090/hello.txt,會(huì)看到剛才寫的txt文件內(nèi)容

至此,一個(gè)簡(jiǎn)單的HTTP服務(wù)器搭建完畢


二、簡(jiǎn)單請(qǐng)求示例

  1. 一個(gè)簡(jiǎn)單的請(qǐng)求
  • 繼續(xù)在main.swift輸入
  • 用瀏覽器敲入:http://localhost:9090/,會(huì)看到Hello perfect.
  1. 把被請(qǐng)求的數(shù)據(jù)用JSON格式返回
  • 定義一個(gè)方法將Str轉(zhuǎn)換成JSON
  • 在寫一個(gè)請(qǐng)求,build & run
  • 用瀏覽器訪問http://localhost:9090/hello,會(huì)看到JSON格式的{"test":"testvolue","message":"Hello, JSON!”}
  1. 接收參數(shù)的簡(jiǎn)單GET請(qǐng)求
  • 添加一個(gè)請(qǐng)求
  • 瀏覽器輸入驗(yàn)證
  1. 接收參數(shù)的簡(jiǎn)單POST請(qǐng)求
  • 添加一個(gè)post請(qǐng)求
  • 使用POST MAN驗(yàn)證

至此,簡(jiǎn)單的使用swift搭建本地服務(wù)器就結(jié)束了,如有疑問歡迎大家留言探討

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 UI下拉刷新模糊效果A...
    袁俊亮技術(shù)博客閱讀 12,152評(píng)論 9 105
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,692評(píng)論 4 61
  • 因?yàn)橄矏蹖懽?,認(rèn)識(shí)了本城的一些文人,他們的純與他們的真總令我感動(dòng),我喜歡這樣的圈子,談書,談人生,隨性而恣意。 在...
    一瓢7503閱讀 539評(píng)論 0 0
  • 《簡(jiǎn)書》的專題不少,但卻沒有一個(gè)關(guān)于家庭和諧,尊長(zhǎng)愛幼,鄰里相處的專題,有大量的這方面的稿件投路無門。如果可能的話...
    桑泉旭日閱讀 305評(píng)論 0 0
  • Binder是一種架構(gòu),分為三個(gè)部分組成: 服務(wù)端接口 Binder驅(qū)動(dòng) 客戶端接口 對(duì)于服務(wù)端,一個(gè)Binder...
    yjiyjige閱讀 1,037評(píng)論 0 10

友情鏈接更多精彩內(nèi)容