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

藏色散人
Freigeben: 2021-06-24 09:11:01
nach vorne
3197 Leute haben es durchsucht

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(){}
}
Nach dem Login kopieren

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配置文件中修改
Nach dem Login kopieren
Verwendungsreferenz
2. Generierung von Schnittstellentestdaten
注解路由:/test?username=zsw

测试数据:/mock?mock=1

接口文档:/wiki
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage