Swagger3 使用示例

Swagger3 使用示例

GET 请求,传递 query-string 参数

@Operation(summary = "GET 请求", description = "GET 请求传递 query-string 参数", tags = {"用户管理"})
@GetMapping(value = "/get-query-string", produces = "application/json")
ResponseResult<Void> getDemo(
        @Parameter(in = ParameterIn.QUERY, description = "用户名", required = true) @RequestParam(value = "username") String username,
        @Parameter(in = ParameterIn.QUERY, description = "密码", required = true) @RequestParam(value = "password") String password) {

    ...

}    

POST 请求,传递 query-string 参数

@Schema(description = "用户登录信息")
public class User {

    @Schema(name = "username", example = "tommy", required = true, description = "用户名")
    private String username;
          
    ...
         
}
@Operation(summary = "POST 请求 1", description = "POST 请求传递 query-string 参数", tags = {"用户管理"})
@PostMapping(value = "/post-query-string", consumes = {"application/x-www-form-urlencoded"}, produces = {"application/json"} )
ResponseEntity<String> postDemo1(@Parameter(in = ParameterIn.DEFAULT, description = "", schema = @Schema(implementation = User.class)) User user) {
            
    ...
            
}

POST 请求,传递 json-string 参数

@Operation(summary = "POST 请求 3", description = "POST 请求传递 json-string 参数", tags = {"用户管理"})
@PostMapping(value = "/post-json-string",  consumes = "application/json",  produces = "application/json" )
public ResponseEntity<String> worldUsingPostUsingPOST(@Parameter(in = ParameterIn.DEFAULT, description = "用户信息表单对象", schema = @Schema(implementation = User.class)) @RequestBody User user) {
    ...        
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger 3,可以使用`@OA\Response()`注释来定义API的响应信息。下面是一个使用`@OA\Response()`注释定义API响应的示例: ```php /** * @OA\Get( * path="/users", * summary="Get all users", * @OA\Response( * response="200", * description="Successful operation", * @OA\JsonContent( * type="array", * @OA\Items(ref="#/components/schemas/User") * ) * ), * @OA\Response( * response="401", * description="Unauthorized", * ) * ) */ ``` 在上面的示例,我们使用`@OA\Response()`注释定义了两个响应:一个是成功响应`200`,另一个是未授权响应`401`。对于成功响应,我们定义了一个`@OA\JsonContent()`注释,它指定了响应的内容类型和响应的数据模型。在这个例子,我们使用了一个引用到`#/components/schemas/User`的`@OA\Items()`注释,这个引用定义了响应的数据模型。 为了在代码使用响应,您可以使用`response()`方法来生成响应。下面是一个使用`response()`方法生成响应的示例: ```php public function getUsers() { $users = User::all(); if ($users) { return response()->json($users); } else { return response()->json(['message' => 'No users found'], 404); } } ``` 在上面的示例,我们使用`response()`方法根据查询结果生成不同的响应。如果查询返回结果,则我们返回成功响应`200`,并使用`json()`方法将结果序列化为JSON格式。否则,我们返回`404`未找到响应,并使用`json()`方法将错误消息序列化为JSON格式。 需要注意的是,Swagger 3的响应注释和响应生成方法都支持更多的选项和参数。您可以查看Swagger 3官方文档以获取更详细的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值