繁体   English   中英

如何使用 Laravel 创建 swagger json 路由

[英]how to create swagger json routes using laravel

我想在 laravel 中使用 swagger 创建这种类型的 JSON,这怎么可能?

"parameters": [
          {
            "in": "body",
            "name": "body",
            "required": false,
            "schema": {
              "$ref": "#/definitions/CustomerAuthenticateResponse"
            }
          }
        ],

这是如何创建此路由的: #/definitions/CustomerAuthenticateResponse

我得到了使用 swagger 传递 body request(json) 的解决方案。

控制器:

class abcController extends Controller
{
    /*
     * @SWG\Post(
     *      path="/api/user",
     *       tags={"User"},
     *      operationId="ApiV1saveUser",
     *      summary="Add User",
     *      consumes={"application/json"},
     *      produces={"application/json"},
     *      @SWG\Parameter(
     *          name="body",
     *          in="body",
     *          @SWG\Schema(ref="#/definitions/User"), //User Model
     *      ),
     *      @SWG\Response(
     *         response=200,
     *         description="Success"
     *      ),
     * )
     */
     public function store(Request $request)
     {
     }
}

用户模型:

/**
    * @SWG\Definition(
    *      required={"name","email"},
    *      type="object",
    *      @SWG\Xml(name="User")
    * ),
    * @SWG\Property(format="byte", type="string", property="name", description="User Name"),
    * @SWG\Property(format="byte", type="string",property="email", description="Email")
    */
    class User extends Model
    {
    }

谢谢,

看看这个安装后你可以把定义放在你的控制器的 phpdoc 中。

class PetController
{
    /**
     * @OAS\Post(
     *     path="/pet",
     *     tags={"pet"},
     *     summary="Add a new pet to the store",
     *     operationId="addPet",
     *     @OAS\Response(
     *         response=405,
     *         description="Invalid input"
     *     ),
     *     security={
     *         {"petstore_auth": {"write:pets", "read:pets"}}
     *     },
     *     requestBody={"$ref": "#/components/requestBodies/Pet"}
     * )
     */
    public function addPet()
    {
    }
}

来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM