下面我给您详细讲解如何使用Spring Boot、Swagger2.10.5和MyBatis-Plus搭建一个RESTful服务的入门攻略。
1. 环境搭建
首先,您需要在您的电脑上安装以下开发工具:
- Maven(用于构建和管理依赖)
- JDK 1.8 或以上版本(Java开发工具包)
- IDE(如Eclipse、IntelliJ IDEA等)
在您的项目中添加以下依赖:
<!-- Spring Boot依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis-Plus依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!-- Swagger2依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.10.5</version>
</dependency>
2. MyBatis-Plus配置
接下来,您需要配置MyBatis-Plus。在您的项目中创建一个配置类,并使用注解@EnableTransactionManager、@MapperScan
和@Configuration
,如下所示:
@EnableTransactionManagement
@MapperScan("com.example.demo.mapper")
@Configuration
public class MybatisPlusConfig {
}
接着,您需要在您的项目中创建一个Mapper类。这个类包含了您的SQL语句和相关的方法,如下所示:
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
其中,User
是您的实体类,BaseMapper
是MyBatis-Plus提供的通用Mapper。
3. Swagger2配置
接下来,您需要配置Swagger2。在您的项目中创建一个配置类,并使用注解@Configuration
和@EnableSwagger2
,如下所示:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("RESTful API")
.description("springboot+swagger2.10.5+mybatis-plus 入门详解")
.version("1.0")
.build();
}
}
其中,Docket
是Swagger2的配置基类。
4. 控制器
接下来,您需要创建一个控制器来处理HTTP请求。在您的项目中创建一个控制器类,并使用注解@RestController
和@RequestMapping
,如下所示:
@RestController
@RequestMapping("/user")
@Api(tags = "用户接口")
public class UserController {
@Autowired
private IUserService userService;
@GetMapping("/{id}")
@ApiOperation(value = "获取用户信息")
public User getUserById(@PathVariable Long id) {
return userService.getById(id);
}
@PostMapping("/create")
@ApiOperation(value = "创建用户")
public Boolean createUser(@RequestBody User user) {
return userService.save(user);
}
@PutMapping("/{id}")
@ApiOperation(value = "更新用户信息")
public Boolean updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
return userService.updateById(user);
}
@DeleteMapping("/{id}")
@ApiOperation(value = "删除用户")
public Boolean deleteUser(@PathVariable Long id) {
return userService.removeById(id);
}
}
其中,@GetMapping
、@PostMapping
、@PutMapping
和@DeleteMapping
是Spring Boot提供的基本HTTP请求处理注解,@RequestBody
注解表示请求体中的数据转换为对象,@PathVariable
注解提取路径变量,@Autowired
注解注入Service。
5. Service
最后,您需要创建Service来处理业务逻辑。在您的项目中创建一个Service类,并实现您的业务逻辑,如下所示:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
}
其中,@Service
是Spring Boot提供的Service注解,ServiceImpl
是MyBatis-Plus提供的通用Service实现类,UserMapper
是您在前面创建的Mapper类,IUserService
是您的Service接口。
示例
这里给出两个示例:
示例1:获取用户信息
请求方式:GET
请求路径:/user/{id}
请求参数:id
(路径参数)
请求体:无
响应状态码:
- 成功:200
- 失败:404
响应体(JSON格式):
{
"id": 1,
"name": "张三",
"age": 20,
"gender": "男"
}
示例2:更新用户信息
请求方式:PUT
请求路径:/user/{id}
请求参数:id
(路径参数)
请求体(JSON格式):
{
"id": 1,
"name": "张三",
"age": 25,
"gender": "男"
}
响应状态码:
- 成功:200
- 失败:404
响应体(JSON格式):
true
至此,您已经学会了如何使用Spring Boot、Swagger2.10.5和MyBatis-Plus构建一个RESTful服务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot+swagger2.10.5+mybatis-plus 入门详解 - Python技术站