天天看點

SpringCloud入門第一節:建構Resultful風格1.依賴2.Restful配置3.RestfulController4.UserDao5.UserService6.User實體類7. 結果

文章目錄

  • 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

SpringCloud入門第一節:建構Resultful風格1.依賴2.Restful配置3.RestfulController4.UserDao5.UserService6.User實體類7. 結果

繼續閱讀