swagger php将参数作为json传递
所以我在php代码中有如下注释,所以基本上我试图生成我的api正在接受的以下请求 我有如下评论:swagger php将参数作为json传递,php,swagger,swagger-ui,swagger-php,Php,Swagger,Swagger Ui,Swagger Php,所以我在php代码中有如下注释,所以基本上我试图生成我的api正在接受的以下请求 我有如下评论: /** * Login API * * *@SWG\Definition( * definition="login", * description="Enter your username", *) *@SWG\Definition( * definition="password", * type="string", * description="Enter your
/**
* Login API
*
*
*@SWG\Definition(
* definition="login",
* description="Enter your username",
*)
*@SWG\Definition(
* definition="password",
* type="string",
* description="Enter your Password",
*)
* @SWG\Post(
* path="/user/login",
* description="Login API.",
* operationId="Login",
* produces={"application/json"},
* tags={"login"},
* consumes={"application/json"},
*@SWG\Parameter(
* name="params",
* in="body",
* type="string",
* default="params={""username"":""abc@abc.com"",""password"":""12345678""}",
* description="Login Detail",
* required=true,
* @SWG\Schema(ref="#/definitions/login")
*),
*@SWG\Response(
* response=200,
* description="Token overview."
*),
*@SWG\Response(
* response=401,
* description="Unauthorized action.",
*),
* )
*/
预期产量
实际产量
在Swagger ui中,当我尝试执行它时,它会显示错误:
TypeError:获取失败
我试过的
那么,我应该如何解决这个问题呢?将
中的
更改为中的
。瞧。从您的招摇过市参数中删除默认属性,而是在招摇过市模式中设置它们
@SWG\Schema(
@SWG\Property(property="username", type="string", example="abc@abc.com"),
@SWG\Property(property="password", type="string", example="12345678")
)
否则,如果您希望使用swagger定义,请在定义中如上所述设置swagger属性。通过结合@Pusparaj和@delboy1978uk提供的答案来解决此问题 基本上,我必须将
in=“body”
更改为in=“formData”
之后,我必须更改我的评论,如下所示:
/**
* Login API
*
*
*@SWG\Definition(
* definition="login",
* description="Enter your username",
*)
*@SWG\Definition(
* definition="password",
* type="string",
* description="Enter your Password",
*)
* @SWG\Post(
* path="/user/login",
* description="Login API.",
* operationId="Login",
* produces={"application/json"},
* tags={"login"},
* consumes={"application/json"},
*@SWG\Parameter(
* name="params",
* in="body",
* type="string",
* default="params={""username"":""abc@abc.com"",""password"":""12345678""}",
* description="Login Detail",
* required=true,
* @SWG\Schema(ref="#/definitions/login")
*),
*@SWG\Response(
* response=200,
* description="Token overview."
*),
*@SWG\Response(
* response=401,
* description="Unauthorized action.",
*),
* )
*/
早期的
更新
它给出了类似“Code”:“Undocumented”和“Detail”:“TypeError:Failed to fetch”的错误。我能够解决它,但它显示为文本输入,有没有办法将其转换为文本区域?
@SWG\Schema(
@SWG\Property(property="username", type="string", example="abc@abc.com"),
@SWG\Property(property="password", type="string", example="12345678")
)
*@SWG\Parameter(
* name="params",
* in="body",
* type="string",
* default="params={""username"":""abc@abc.com"",""password"":""12345678""}",
* description="Login Detail",
* required=true,
* @SWG\Schema(ref="#/definitions/login")
*),
@SWG\Parameter(
name="params",
in="formData",
type="string",
default="params={""username"":""abc@abc.com"",""password"":""12345678""}",
description="Login Detail",
required=true,
@SWG\Schema(
@SWG\Property(property="username", type="string"),
@SWG\Property(property="password", type="string")
)
),