文章目录
- 1.依赖
- 2.Restful配置
- 3.RestfulController
- 4.UserDao
- 5.UserService
- 6.User实体类
- 7. 结果
1.依赖
第一步创建一个Springboot项目,添加相关依赖
- Swagger依赖
- JPA依赖
- MySql依赖
- Lombok依赖
<!-- Restful依赖-->
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<!-- JPA依赖-->
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
<!--MySQL依赖-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!--Lombok依赖-->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
2.Restful配置
package com.example.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
/**
* @Description: RestFul风格配置类
* @author: ZPX
* @createDate: 2020/5/16 18:58
* @version: 1.0
*/
@Configuration
@EnableSwagger2
public class MyRestFulConfig {
@Bean
public Docket createAPI() {
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风格")
.description("RestFul风格API")
.termsOfServiceUrl("localhost:8080/")
.version("1.0")
.build();
}
}
3.RestfulController
package com.example.demo.controller;
import com.example.demo.pojo.User;
import com.example.demo.service.UserService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description: RestFulController
* @author: ZPX
* @createDate: 2020/5/16 19:18
* @version: 1.0
*/
@RestController
@RequestMapping("/user")
public class RestFulController {
@Autowired
private UserService userService;
@ApiOperation(value = "创建用户信息",notes = "创建用户信息")
@RequestMapping(value = "/",method = RequestMethod.POST)
public String createUser(@RequestBody User user){
try {
userService.insertUser(user);
return "success";
}catch (Exception e){
e.printStackTrace();
return "fail";
}
}
@ApiOperation(value = "删除用户信息",notes = "删除用户信息")
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
public String createUser(@PathVariable(value = "id") Long id){
try {
userService.deleteUserById(id);
return "success";
}catch (Exception e){
e.printStackTrace();
return "fail";
}
}
@ApiOperation(value = "用户列表信息",notes = "用户列表信息")
@RequestMapping(value = "/",method = RequestMethod.GET)
public List<User> getUserList(){
try {
return userService.findAll();
}catch (Exception e){
e.printStackTrace();
return null;
}
}
@ApiOperation(value = "用户列表信息",notes = "用户列表信息")
@RequestMapping(value = "/",method = RequestMethod.PUT)
public String updateUser(@RequestBody User user){
try {
userService.updateUser(user);
return "success";
}catch (Exception e){
e.printStackTrace();
return "fail";
}
}
}
4.UserDao
继承JpaRepository接口
package com.example.demo.dao;
import com.example.demo.pojo.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* @Description:
* @author: ZPX
* @createDate: 2020/5/16 18:50
* @version: 1.0
*/
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
5.UserService
6.User实体类
package com.example.demo.pojo;
import lombok.Data;
import org.hibernate.annotations.GeneratorType;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* @Description: User实体类
* @author: ZPX
* @createDate: 2020/5/16 18:49
* @version: 1.0
*/
@Data
@Entity(name = "user")
public class User {
@Id
Long id;
String name;
Integer age;
String password;
}
7. 结果
在浏览器中输入localhost:8080/swagger-ui.html
