久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      介紹基于ThinkPHP6的注解路由+自動(dòng)接口文檔生成+自動(dòng)Mock測(cè)試數(shù)據(jù)生成

      下面由thinkphp框架教程欄目給大家介紹基于 ThinkPHP6 的注解路由 + 自動(dòng)接口文檔生成 + 自動(dòng)Mock測(cè)試數(shù)據(jù)生成,希望對(duì)需要的朋友有所幫助!

      基于 ThinkPHP6 的注解路由 + 自動(dòng)接口文檔生成 + 自動(dòng)測(cè)試數(shù)據(jù)生成

      作者

      zsw zswemail@qqcom

      主頁 https://zsw.ink

      github https://github.com/iszsw/mock

      gitee https://gitee.com/iszsw/mock

      使用

      1、安裝

      composer require iszsw/mock:dev-master

      2、添加測(cè)試代碼 在 app/controller 目錄下增加Test.php文件

      <?php namespace appcontroller;  use appBaseController; use iszswmockannotationillustrateAutoValidate; use iszswmockannotationillustrateRoute; use iszswmockannotationillustrateMock; use iszswmockannotationillustrateMockPack; use iszswmockannotationillustrateWikiItem; use iszswmockannotationillustrateWikiMenu;  /**  * @WikiMenu("測(cè)試")  * @package appcontroller  * Author: zsw zswemail@qq.com  */ class Test extends BaseController {      /**      * @Route("test", method="GET")      * @WikiItem("首頁", description="首頁詳情")      *      * @AutoValidate({"username":"require|chsAlpha"}, message={"username":"請(qǐng)輸入用戶名"})      * @Mock("username", mode="request", title="用戶名", example="name")      * @Mock("name", mode="response", title="名字", example="name", description="文章ID")      */     public function index($username){         return "hello " . $username;     }      /**      * @Route("mock", method="GET")      * @WikiItem("詳情", description="文章詳情")      *      * @Mock("id", title="ID", example="numberBetween", description="文章ID")      * @MockPack("articles", mode="response", title="文章列表", description="文章列表", limit=5)      * @Mock("id", mode="response", title="ID", example="randomDigitNotNull", description="文章ID")      * @Mock("title", mode="response", title="標(biāo)題", example="name")      * @Mock("create_time", mode="response", title="創(chuàng)建時(shí)間", example={"date": {"Y-m-d", "now"}})      * @Mock("content", mode="response", title="內(nèi)容", example={"sentence": 10})      * @Mock("image", mode="response", title="圖片", example="randomDigit")      * @MockPack("user", main=true, mode="response", title="用戶", description="發(fā)布者信息", limit=0)      * @Mock("username", mode="response", title="用戶名", example="name")      * @MockPack("user")      * @MockPack("articles")      * @Mock("page", mode="response", title="頁碼", example="randomDigitNotNull", description="當(dāng)前頁碼")      */     public function mock(){} }

      3、復(fù)制文檔資源文件 vendor/iszsw/mock/src/static 文件夾放置到public下

      <br>如果路徑不不是 /static 可以在config/mock.php配置文件中修改

      4、 訪問

      注解路由:/test?username=zsw  測(cè)試數(shù)據(jù):/mock?mock=1  接口文檔:/wiki

      功能說明

      配置文件 config/mock.php

      1、注解路由

      路由注解 模型注解 自動(dòng)注入同Tp6官方注解

      新增AutoValidate注解

      @AutoValidate({"username":"require|chsAlpha"}, message={"username":"請(qǐng)輸入用戶名"})

      2、接口測(cè)試數(shù)據(jù)生成

      MockPack 嵌套數(shù)據(jù)生成支持無限級(jí)嵌套

      @MockPack extends MockBase     // 數(shù)據(jù)長度 0表示單層數(shù)據(jù)     @var int limit           /*      * 置頂 (limit > 1 時(shí)有效)      * false:['fields'=>[["a"=>"b"], ["aa"=>"bb"]]]      * true:[["a"=>"b"], ["aa"=>"bb"]]      */     @var boolean main

      例:

      /**  * @MockPack("articles", mode="response", title="文章列表", description="文章列表", limit=3)  * @Mock("title", mode="response", title="標(biāo)題", example="name")  * @Mock("content", mode="response", title="內(nèi)容", example={"sentence": 10})  *  * @MockPack("user", main=true, mode="response", title="用戶", description="發(fā)布者信息", limit=0)  * @Mock("username", mode="response", title="用戶名", example="name")  * @MockPack("user")  *   * @MockPack("articles")  */   生成結(jié)果  {     "articles": [{         "title": "喬陽",         "content": "Vero impedit et consequatur quasi doloribus dolores illum sit expedita doloremque fugiat esse deleniti quisquam.",         "user": {             "username": "方建明"         }     }, {         "title": "蒙桂花",         "content": "Iure explicabo officiis minima et impedit sunt dignissimos necessitatibus ratione animi nam aperiam dolorum.",         "user": {             "username": "谷致遠(yuǎn)"         }     }, {         "title": "鄭文",         "content": "Minus cum unde exercitationem sunt laudantium eveniet voluptatem magni ut cum non.",         "user": {             "username": "寧麗娟"         }     }] }

      Mock 數(shù)據(jù)生成

      @Mock extends MockBase     /**       * 自定義字符串 example="zsw"       * Faker方法名 參考https://github.com/fzaninotto/Faker       * 自定義方法名 applogicMock::name       * example="方法名" || example={"方法名": {"參數(shù)1", "參數(shù)2"}}       */     @var string|array example

      3、接口文檔生成

      <?php /**  * @WikiMenu("測(cè)試")  */ class Test extends BaseController {     /**      * @Route("test", method="GET")      * @WikiItem("首頁", description="首頁詳情")      * @Mock("name", mode="response", title="名字", example="name", description="名字")      */     public function index(){         return "zsw";     } }

      使用參考

      1、注解路由

      2、接口測(cè)試數(shù)據(jù)生成

      <?php namespace appcontroller;  use appBaseController; use iszswmockannotationillustrateRoute; use iszswmockannotationillustrateMock; use iszswmockannotationillustrateMockPack; use iszswmockannotationillustrateWikiItem; use iszswmockannotationillustrateWikiMenu;  /**  * @WikiMenu("測(cè)試")  */ class Test extends BaseController {     /**      * @Route("mock", method="GET")      * @WikiItem("詳情", description="文章詳情")      * @Mock("id", title="ID", example="numberBetween", description="文章ID")      *       * @MockPack("articles", mode="response", title="文章列表", description="文章列表", limit=3)      * @Mock("title", mode="response", title="標(biāo)題", example="name")      * @Mock("content", mode="response", title="內(nèi)容", example={"sentence": 10})      *      * @MockPack("user", main=true, mode="response", title="用戶", description="發(fā)布者信息", limit=0)      * @Mock("username", mode="response", title="用戶名", example="name")      * @MockPack("user")      *       * @MockPack("articles")      */     public function mock(){} }

      生成的數(shù)據(jù)格式為

      {     "articles": [{         "title": "喬陽",         "content": "Vero impedit et consequatur quasi doloribus dolores illum sit expedita doloremque fugiat esse deleniti quisquam.",         "user": {             "username": "方建明"         }     }, {         "title": "蒙桂花",         "content": "Iure explicabo officiis minima et impedit sunt dignissimos necessitatibus ratione animi nam aperiam dolorum.",         "user": {             "username": "谷致遠(yuǎn)"         }     }, {         "title": "鄭文",         "content": "Minus cum unde exercitationem sunt laudantium eveniet voluptatem magni ut cum non.",         "user": {             "username": "寧麗娟"         }     }] }

      3、接口文檔生成

      <?php namespace appcontroller;  use iszswmockannotationillustrateRoute; use iszswmockannotationillustrateWikiItem; use iszswmockannotationillustrateWikiMenu;  /**  * @WikiMenu("測(cè)試")  */ class Test {      /**      * @Route("test", method="GET")      * @WikiItem("首頁", description="首頁詳情")      * @Mock("username", mode="request", title="用戶名", example="name")      * @Mock("name", mode="response", title="名字", example={"appcontrollerMock::name": {100}}, description="文章ID")      */     public function index($username){} }

      介紹基于ThinkPHP6的注解路由+自動(dòng)接口文檔生成+自動(dòng)Mock測(cè)試數(shù)據(jù)生成介紹基于ThinkPHP6的注解路由+自動(dòng)接口文檔生成+自動(dòng)Mock測(cè)試數(shù)據(jù)生成

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)