php + swagger2 +hyperf文檔使用介紹


@Api:用在請求的類上,表示對類的說明
    tags="說明該類的作用,可以在UI界面上看到的注解"
    value="該參數沒什么意義,在UI界面上也看到,所以不需要配置"

@ApiOperation:用在請求的方法上,說明方法的用途、作用
    value="說明方法的用途、作用"
    notes="方法的備注說明"

@ApiImplicitParams:用在請求的方法上,表示一組參數說明
    @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一個請求參數的各個方面
        name:參數名
        value:參數的漢字說明、解釋
        required:參數是否必須傳
        paramType:參數放在哪個地方
            · header --> 請求參數的獲取:@RequestHeader
            · query --> 請求參數的獲取:@RequestParam
            · path(用於restful接口)--> 請求參數的獲取:@PathVariable
            · body(不常用)
            · form(不常用)    
        dataType:參數類型,默認String,其它值dataType="Integer"       
        defaultValue:參數的默認值

@ApiResponses:用在請求的方法上,表示一組響應
    @ApiResponse:用在@ApiResponses中,一般用於表達一個錯誤的響應信息
        code:數字,例如400
        message:信息,例如"請求參數沒填好"
        response:拋出異常的類

@ApiModel:用於響應類上,表示一個返回響應數據的信息
            (這種一般用在post創建的時候,使用@RequestBody這樣的場景,
            請求參數無法使用@ApiImplicitParam注解進行描述的時候)
    @ApiModelProperty:用在屬性上,描述響應類的屬性

 

1、@Api:用在請求的類上,說明該類的作用

@Api:用在請求的類上,說明該類的作用
    tags="說明該類的作用"
    value="該參數沒什么意義,所以不需要配置"

 

2、@ApiOperation:用在請求的方法上,說明方法的作用

@ApiOperation:"用在請求的方法上,說明方法的作用"
    value="說明方法的作用"
    notes="方法的備注說明"
@ApiOperation(value="用戶注冊",notes="手機號、密碼都是必輸項,年齡隨邊填,但必須是數字")  

 

3、@ApiImplicitParams:用在請求的方法上,包含一組參數說明

@ApiImplicitParams:用在請求的方法上,包含一組參數說明
    @ApiImplicitParam:用在 @ApiImplicitParams 注解中,指定一個請求參數的配置信息       
        name:參數名
        value:參數的漢字說明、解釋
        required:參數是否必須傳
        paramType:參數放在哪個地方
            · header --> 請求參數的獲取:@RequestHeader
            · query --> 請求參數的獲取:@RequestParam
            · path(用於restful接口)--> 請求參數的獲取:@PathVariable
            · body(不常用)
            · form(不常用)    
        dataType:參數類型,默認String,其它值dataType="Integer"       
        defaultValue:參數的默認值
示例

@ApiImplicitParams({
    @ApiImplicitParam(name="mobile",value="手機號",required=true,paramType="form"),
    @ApiImplicitParam(name="password",value="密碼",required=true,paramType="form"),
    @ApiImplicitParam(name="age",value="年齡",required=true,paramType="form",dataType="Integer")
})

 

4、@ApiResponses:用於請求的方法上,表示一組響應

@ApiResponses:用於請求的方法上,表示一組響應
    @ApiResponse:用在@ApiResponses中,一般用於表達一個錯誤的響應信息
        code:數字,例如400
        message:信息,例如"請求參數沒填好"
        response:拋出異常的類
示例

@ApiOperation(value = "select1請求",notes = "多個參數,多種的查詢參數類型")
@ApiResponses({
    @ApiResponse(code=400,message="請求參數沒填好"),
    @ApiResponse(code=404,message="請求路徑沒有或頁面跳轉路徑不對")
})

 

5、@ApiModel:用於響應類上,表示一個返回響應數據的信息

@ApiModel:用於響應類上,表示一個返回響應數據的信息
            (這種一般用在post創建的時候,使用@RequestBody這樣的場景,
            請求參數無法使用@ApiImplicitParam注解進行描述的時候)
    @ApiModelProperty:用在屬性上,描述響應類的屬性

 示例

<?php

declare(strict_types=1);

namespace App\Controller\Api;

use App\Constants\ErpConstants;
use App\Controller\AbstractController;
use App\Extend\Helper\ErpHelper;
use App\Extend\Helper\Helper;
use Mzh\Swagger\Annotation\ApiController;
use Mzh\Swagger\Annotation\ApiResponse;
use Mzh\Swagger\Annotation\FormData;
use Mzh\Swagger\Annotation\PostApi;

/**
 * Class LoginController
 * @package App\Controller\Erp
 *
 * ################### API DOC ###########################
 * @ApiController(tag="登錄", description="token登錄接口")
 */
class LoginController extends AbstractController
{
    /**
     * token登錄接口(用於其它項目校驗權限以及登錄)
     * @return array|\Psr\Http\Message\ResponseInterface
     *
     * #########################API文檔##############################
     * @PostApi(description="token登錄接口")
     * @FormData(key="token|登錄token", rule="required|max:264")
     * @ApiResponse(code="600", description="失敗",schema={"code":"600","msg":"失敗"})
     * @ApiResponse(code="200", description="成功", schema={
     *   "code": 200,
     *   "msg": "success",
     *   "data": {
     *       "author_id|用戶ID": 3090995,
     *       "fd_sta_id|員工ID": 425,
     *       "fd_sta_name|員工姓名": "大蘇打",
     *       "permission|權限數組": {
     *       "Dgdata_Other_Iframe_chartUser|權限地址->真實URL": "http://dgdata.orgg/erp/chart/user",
     *       }
     *   }
     * })
     */
    public function tokenLogin()
    {
        $token = Helper::getJwtToken();
        if (!$token) return apiError('參數異常');
        $adminUser = ErpHelper::parseJwtToken($token);
        //緩存用戶權限信息
        $cacheKey   = ErpConstants::PERMISSION_CACHE_PREFIX . $adminUser['fd_sta_id'];
        $permission = cache()->get($cacheKey);
        return apiSuccess([
            'author_id' => $adminUser['author_id'],
            'fd_sta_id'   => $adminUser['fd_sta_id'],
            'fd_sta_name' => $adminUser['fd_sta_name'],
            'permission'  => $permission,
        ]);
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM