Heim  >  Artikel  >  PHP-Framework  >  Einführung von Anmerkungsrouting + automatischer Generierung von Schnittstellendokumenten + automatischer Generierung von Mock-Testdaten basierend auf ThinkPHP6

Einführung von Anmerkungsrouting + automatischer Generierung von Schnittstellendokumenten + automatischer Generierung von Mock-Testdaten basierend auf ThinkPHP6

藏色散人
藏色散人nach vorne
2021-06-21 16:49:403107Durchsuche

Die folgende Tutorialspalte des Thinkphp-Frameworks stellt Ihnen das Annotationsrouting + die automatische Generierung von Schnittstellendokumenten + die automatische Generierung von Mock-Testdaten basierend auf ThinkPHP6 vor. Ich hoffe, dass es für Freunde in Not hilfreich ist!

Annotationsrouting basierend auf ThinkPHP6 + automatische Generierung von Schnittstellendokumenten + automatische Generierung von Testdaten

Autor

zsw zswemail@qqcom

Homepage https://zsw.ink

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

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

Verwenden

1. Testcode hinzufügen und die Datei Test.php im App-/Controller-Verzeichnis hinzufügen
<?php
namespace app\controller;

use app\BaseController;
use iszsw\mock\annotation\illustrate\AutoValidate;
use iszsw\mock\annotation\illustrate\Route;
use iszsw\mock\annotation\illustrate\Mock;
use iszsw\mock\annotation\illustrate\MockPack;
use iszsw\mock\annotation\illustrate\WikiItem;
use iszsw\mock\annotation\illustrate\WikiMenu;

/**
 * @WikiMenu("测试")
 * @package app\controller
 * Author: zsw zswemail@qq.com
 */
class Test extends BaseController
{

    /**
     * @Route("test", method="GET")
     * @WikiItem("首页", description="首页详情")
     *
     * @AutoValidate({"username":"require|chsAlpha"}, message={"username":"请输入用户名"})
     * @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="标题", example="name")
     * @Mock("create_time", mode="response", title="创建时间", example={"date": {"Y-m-d", "now"}})
     * @Mock("content", mode="response", title="内容", example={"sentence": 10})
     * @Mock("image", mode="response", title="图片", example="randomDigit")
     * @MockPack("user", main=true, mode="response", title="用户", description="发布者信息", limit=0)
     * @Mock("username", mode="response", title="用户名", example="name")
     * @MockPack("user")
     * @MockPack("articles")
     * @Mock("page", mode="response", title="页码", example="randomDigitNotNull", description="当前页码")
     */
    public function mock(){}
}

3. Kopieren Sie den Ordner „Vendor/iszsw/mock/src/static“ und legen Sie ihn unter „public“ ab Die automatische Injektion von Annotationsmodellen für Routing-Annotationen ist mit der offiziellen Tp6-Annotation identisch composer require iszsw/mock:dev-master 3. Generierung von Schnittstellendokumenten

<br>如果路径不不是 /static 可以在config/mock.php配置文件中修改
Verwendungsreferenz
2. Generierung von Schnittstellentestdaten
注解路由:/test?username=zsw

测试数据:/mock?mock=1

接口文档:/wiki
3. Generierung von Schnittstellendokumenten

Das obige ist der detaillierte Inhalt vonEinführung von Anmerkungsrouting + automatischer Generierung von Schnittstellendokumenten + automatischer Generierung von Mock-Testdaten basierend auf ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen