一、简介
Restful是一种对url进行规范的编码风格,通常一个网址对应一个资源,访问形式类似http://xxx.com/xx/{id}/{id}。
举个栗子,当我们在某购物网站上买手机时会有很多品牌选择,而每种品牌下又有很多型号,那么https://mall.com/mobile/iphone/6 代表了Iphone6,https://mall.com/mobile/iphone/7和https://mall.com/mobile/iphone/8分别代表了Iphone7和Iphone8。
SpringBoot内置了SpringMvc中,也提供了@RequestParam, @RequestBody和@PathVariable 三个注解获取客户端参数,其中前两者获取的是客户端post提交的参数,而@PathVariable 则是从访问url中获取参数。言归正传,下面我们以用户管理系统为例,在SpringBoot中编写一组Restful风格的接口吧。
二、开发环境
- IDE:IntelliJ IDEA
- 官网地址:https://www.jetbrains.com/idea/download/
- JDK:1.8
- 数据库:MySQL
- 构建工具:Maven
三、编写自己的Restful程序
1.创建SpringBoot项目,如下图所示:
点击Next,选择一些基本项目参数,如下图:
点击Next,选择我们需要的组件,这里我们选择MySQL,JPA,WEB组件作为我们开发组件。如下图所示:
点击Finish即完成项目的创建,项目结构如下图:
2.项目依赖Maven配置pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.forMelo</groupId>
<artifactId>myrestfulproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>myrestfulproject</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3.数据源、JPA配置
SpringBoot默认配置文件为application.properties,我们将其修改为application.yml格式,.yml属性文件层次感和可读性更强。application.yml具体配置如下:
<