@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, ]); } }