一、参考链接
https://blog.quickadminpanel.com/laravel-api-documentation-with-openapiswagger/

https://swagger.io/specification/

二、开始
在\app\Http\Controllers 的Controller.php 加上一下正文代码

/** * @OA\Info(title="My First API", version="0.1") *  */class Controller extends BaseController{    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;}

在routes目录外面增加增删改查路由

Route::resource('swagger',SwaggerController::class);

三、CURD操作
GET列表查问:

//列表    public function index(){        /**         * @OA\Get(         *     path="/swagger",         *       tags={"Swagger增删改查"},         *     description="查列表",         *     summary="查列表",         *     @OA\Response(response="200", description="An example resource")         * )         */                $arr = ['egg'=>'adf','php'=>'qqq'];        return json_encode($arr);    }

GET查问

    //显示对应id的内容    public function show($id){        /**     * @OA\Get(     *      path="/swagger/{id}",     *      tags={"Swagger增删改查"},     *      summary="查问",     *      description="依据id获取数据",     *      @OA\Parameter(in="path",name="id",description="类型id",required=true,@OA\Schema(type="integer"),),     *      @OA\Response(response="200", description="An example resource"),     *        * )     */     $arr = [     1=>['php','asp'],     2=>['aaa','test']     ];     return json_encode($arr[$id]);    }

post减少(这里是多文件上传示例)

 //减少    public function store(Request $request){            /**     * @OA\Post(     *      path="/swagger",     *      tags={"Swagger增删改查"},     *      summary="减少",     *      description="减少数据",     *      @OA\Parameter(in="query",name="username",description="用户名称",required=true,@OA\Schema(type="string"),),     *      @OA\Parameter(in="query",name="age",description="年龄",required=true,@OA\Schema(type="integer"),),     *      @OA\Parameter(     *          in="query",     *            name="key[]",                 *              @OA\Schema(     *                  type="array", collectionFormat="multi", @OA\Items(type="string"),uniqueItems=true,     *             )     *         ),         *         @OA\RequestBody(     *                 required=true,     *                @OA\MediaType(     *                 mediaType="multipart/form-data",     *                 @OA\Schema(     *                 @OA\Property(     *                     description="file to upload",     *                     property="file[]",     *                     type="array",     *                         @OA\Items(type="file"),     *                ),     *                     *             )     *         )     *     ),     *      @OA\Response(response="200", description="An example resource"),     *        * )     */     $input=$request->all();      $input['file'] = $_FILES['file'];         return json_encode($input);              }

PUT更新(单文件上传)

//更新     public function update(Request $request){                /**     * @OA\Put(     *      path="/swagger/{id}",     *      tags={"Swagger增删改查"},     *      summary="更新",     *      description="更新数据",              *         @OA\RequestBody(     *                 required=true,     *                @OA\MediaType(     *             mediaType="application/x-www-form-urlencoded",     *                 @OA\Schema(     *                 @OA\Property(     *                     description="id",     *                     property="id",     *                     type="integer",     *                ),     *                    @OA\Property(     *                     description="名称",     *                     property="name",     *                     type="string",     *                ),     *                    @OA\Property(     *                     description="年纪",     *                     property="age",     *                     type="integer",     *                ),     *                     *             )     *         )     *     ),      *      @OA\Response(response="200", description="An example resource"),     *        * )     */     $input=$request->all();          return json_encode($input);    }

删除

//删除    public function destroy(Request $request){                /**     * @OA\Delete(     *      path="/swagger/{id}",     *      tags={"Swagger增删改查"},     *      summary="删除",     *      description="删除数据",              *         @OA\RequestBody(     *                 required=true,     *                @OA\MediaType(     *             mediaType="application/x-www-form-urlencoded",     *                 @OA\Schema(     *                 @OA\Property(     *                     description="id",     *                     property="id",     *                     type="integer",     *                ),     *                     *             )     *         )     *     ),      *      @OA\Response(response="200", description="An example resource"),     *        * )     */        $input=$request->all();             return json_encode($input);    }