# swagger3使用文档: https://blog.csdn.net/YXXXYX/article/details/124952856 # swagger基本注解: https://blog.csdn.net/qq_52774158/article/details/131081371 # 各种mapping注解的含义: 1. @RequestMapping (Spring MVC) 用途: 用于映射HTTP请求到MVC和REST控制器的处理方法上。它可以应用于类级别(定义控制器处理的基路径)和方法级别(细化具体请求路径) 2. @GetMapping, @PostMapping, @PutMapping, @DeleteMapping (Spring MVC) 用途: 这些是@RequestMapping的特化版本,分别对应HTTP的GET、POST、PUT、DELETE方法,使代码更简洁易读。 3. @RequestBody (Spring MVC) 用途: 用于将HTTP请求体中的数据绑定到方法参数上,通常用于接收JSON、XML等格式的数据。 列如: ```java public ResponseEntity createUser(@RequestBody User newUser) { ... } ``` 4. @ResponseBody (Spring MVC) 之前已解释: 将方法的返回值直接写入HTTP响应体中,常用于返回JSON、XML等数据。 5. @PathVariable 用途: 用于从URL路径中提取变量值并绑定到方法参数上。 列如: ```java @GetMapping("/users/{id}") public User getUser(@PathVariable Long id) { ... } ``` 6. @RequestParam 用途: 用于将请求参数绑定到方法参数上。 列入: ```java @GetMapping("/users") public List searchUsers(@RequestParam("name") String name) { ... } ``` @Table 指定数据库表名及选项;@Column 定义实体字段与数据库表列的映射关系。 ```java import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "users") // 指定表名 public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // 主键生成策略 private Long id; @Column(name = "username") // 指定数据库列名 private String username; @Column(name = "email", nullable = false) // 邮箱列,不允许为空 private String email; @Column(length = 100) // 限制密码列长度为100字符 private String password; // 省略getter和setter方法 } ``` 1. name: 指定数据库表中的列名。如果不提供,默认使用属性名。 2. nullable: 指定该列是否允许null值,默认为true(允许)。 3. length: 设置列的最大长度,适用于字符串类型。 4. unique: 指定该列是否需要唯一约束,默认为false。 5. updatable: 指定在更新操作时该字段是否可更新,默认为true。 6. insertable: 指定在插入操作时该字段是否可插入,默认为true。 7. columnDefinition: 允许直接提供SQL片段来定义列,覆盖默认的列定义。 8. precision 和 scale: 用于数值类型,precision指总精度,scale指小数点后的精度。 # 如果实体类中有应该属性在对应的数据库表中没有该字段 1. 使用@Transient注解 2. MyBatis Plus中的@TableField(exist = false): # 使用swagger3的步骤 1. 添加依赖: ```java org.springdoc springdoc-openapi-starter-webmvc-ui 2.5.0 ``` 2. 写配置类: 配置类文件 3. 地址端口 ``` springdoc.api-docs.path=/v3/api-docs springdoc.api-docs.enabled=true springdoc.swagger-ui.enabled=true springdoc.swagger-ui.path=/swagger-ui/index.html ``` /** * Swagger的配置类 */ /** * Swagger配置类,该类里面的应该是固定的,主要用来设置文档的主题信息,比如文档的大标题,副标题,公司名 */ @Configuration//托管spring public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.OAS_30) // v2 不同 .select() .apis(RequestHandlerSelectors.basePackage("com.example.springbootmybatisplus"))//扫描该包下面的API注解 .build(); } } ```