1

嗨,我正在使用 swagger-php 规范创建一个虚拟 api。我已经从 github 下载了 swagger-php 包。我还使用 php Annotations 创建了一个有效的 json 文件。现在我坚持将 swagger json 操作与控制器方法联系起来。

我的控制器文件是:

/**
 * @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()
{
}
4

1 回答 1

0

我已经使用了框架 codeigniter 并且 URL 是host/controller-name/method-name。因此,如果您的控制器名称是受欢迎的并且方法是 helloWorld,那么在 swagger 文件中的路径: /welcome/helloWordhost:localhost。当点击尝试按钮时,请求 url 将是 localhost/welcome/helloWord

于 2016-10-18T08:10:35.310 回答