2016-09-22 131 views
1

您好我正在使用swagger-php规范创建一个虚拟api。我已经从github下载了swagger-php包。此外,我已经创建了一个有效的JSON文件使用PHP注释。现在我坚持把控制器方法与swagger json操作链接起来。链接Swagger operationId与swagger-php中的控制器方法

我的控制文件是:

/** 
* @SWG\Get(
*  path="/user", 
*  operationId = "findUser", 
*  description = "finds user in the system", 
*  tags={"user"}, 
*  @SWG\Response(
*   response=200, 
*   description="user response", 
*   @SWG\Schema(
*    type="array", 
*    @SWG\Items(ref="#/definitions/User") 
*  ) 
* ), 
*  @SWG\Response(
*   response="default", 
*   description="unexpected error", 
*   @SWG\Schema(
*    ref="#/definitions/errorModel" 
*  ) 
* ) 
*) 
*/ 
public function findUser() 
{ 
} 

/** 
* @SWG\Get(
*  path="/user/{id}", 
*  description="Returns a user based on a single ID", 
*  tags={"user"}, 
*  operationId="findUserById", 
*  @SWG\Parameter(
*   description="ID of pet to fetch", 
*   format="int64", 
*   in="path", 
*   name="id", 
*   required=true, 
*   type="integer" 
* ), 
*  @SWG\Response(
*   response=200, 
*   description="user response", 
*   @SWG\Schema(ref="#/definitions/User") 
* ), 
*  @SWG\Response(
*   response="default", 
*   description="unexpected error", 
*   @SWG\Schema(ref="#/definitions/errorModel") 
* ) 
*) 
*/ 
public function findUserById() 
{ 
} 

/** 
* @SWG\Post(
*  path="/user", 
*  operationId="addUser", 
*  tags={"user"}, 
*  description="Add a new User ", 
*  @SWG\Parameter(
*   name="id", 
*   in="formData", 
*   description="Unique id", 
*   required=true, 
*   type = "string" 
* ), 
* @SWG\Parameter(
*   name="firstName", 
*   in="formData", 
*   description="first name", 
*   required=true, 
*   type = "string" 
* ), 
* @SWG\Parameter(
*   name="lastName", 
*   in="formData", 
*   description="last name", 
*   required=true, 
*   type = "string" 
* ), 
* @SWG\Parameter(
*   name="email", 
*   in="formData", 
*   description="email", 
*   required=true, 
*   type = "string" 
* ), 
* @SWG\Parameter(
*   name="password", 
*   in="formData", 
*   description="password", 
*   required=true, 
*   type = "string", 
*   format = "password" 
* ), 
*  @SWG\Response(
*   response=200, 
*   description="user response", 
*   @SWG\Schema(ref="#/definitions/User") 
* ), 
*  @SWG\Response(
*   response="default", 
*   description="unexpected error", 
*   @SWG\Schema(ref="#/definitions/errorModel") 
* ) 
*) 
*/ 
public function addUser() 
{ 

} 

/** 
* @SWG\Delete(
*  path="/user/{id}", 
*  tags={"user"}, 
*  description="deletes a single user based on the ID supplied", 
*  operationId="deleteUser", 
*  @SWG\Parameter(
*   description="ID of user to delete", 
*   format="int64", 
*   in="path", 
*   name="id", 
*   required=true, 
*   type="integer" 
* ), 
*  @SWG\Response(
*   response=200, 
*   description="user deleted" 
* ), 
*  @SWG\Response(
*   response="default", 
*   description="unexpected error", 
*   @SWG\Schema(ref="#/definitions/errorModel") 
* ) 
*) 
*/ 
public function deleteUser() 
{ 
} 

回答

0

我已经使用这个框架笨和URL是主机/控制器名/方法名。 因此,如果您的控制器名称是欢迎和方法是helloWorld然后在swagger文件中路径:/ welcome/helloWord主机:localhost。当点击按钮时,请求URL将会是 localhost/welcome/helloWord