Swagger3 的函数
时间: 2023-08-17 20:20:48 浏览: 35
Swagger3 提供了以下常用的函数:
1. `@Api`:用于描述整个接口或者一组接口的作用,包括接口名称、接口描述、接口版本号等信息。示例:
```java
@Api(tags = "用户管理", value = "用户管理相关接口")
@RestController
@RequestMapping("/user")
public class UserController {
// ...
}
```
2. `@ApiOperation`:用于描述单个接口的作用,包括接口名称、接口描述、请求方式、请求URL等信息。示例:
```java
@ApiOperation(value = "根据用户ID获取用户信息", notes = "根据用户ID获取用户详细信息")
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getById(id);
}
```
3. `@ApiParam`:用于描述接口参数的作用,包括参数名称、参数描述、是否必须、参数类型等信息。示例:
```java
@ApiOperation(value = "添加用户", notes = "添加用户信息")
@PostMapping("/")
public boolean addUser(@ApiParam(name = "user", value = "用户信息", required = true) @RequestBody User user) {
return userService.save(user);
}
```
4. `@ApiImplicitParam`:用于描述单个请求参数的作用,包括参数名称、参数描述、是否必须、参数类型等信息。与 `@ApiParam` 类似,但是可以用于描述 PathVariable、RequestParam、RequestHeader 等参数。示例:
```java
@ApiOperation(value = "根据用户名获取用户信息", notes = "根据用户名获取用户信息")
@ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String", paramType = "query")
@GetMapping("/")
public User getUserByUsername(String username) {
return userService.getUserByUsername(username);
}
```
5. `@ApiImplicitParams`:用于描述多个请求参数的作用,可以包含多个 `@ApiImplicitParam` 注解。示例:
```java
@ApiOperation(value = "根据用户名和密码登录", notes = "根据用户名和密码登录")
@ApiImplicitParams({
@ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String", paramType = "query")
})
@PostMapping("/login")
public String login(String username, String password) {
// ...
}
```
6. `@ApiResponse`:用于描述接口响应的作用,包括响应码、响应信息、响应实体类等信息。示例:
```java
@ApiOperation(value = "根据用户ID获取用户信息", notes = "根据用户ID获取用户详细信息")
@ApiResponses({
@ApiResponse(code = 200, message = "请求成功", response = User.class),
@ApiResponse(code = 500, message = "请求失败")
})
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getById(id);
}
```
以上是 Swagger3 常用的函数,具体使用可以根据实际需要进行调整。