🎊专栏【SpringMVC】
🍔喜欢的诗句:天行健,君子以自强不息。
🎆音乐分享【如愿】
🎄欢迎并且感谢大家指出小吉的问题🥰
文章目录
- 🎄REST简介
- 🌺RESTful入门案例
- ⭐案例一
- ⭐案例二
- ✨传参问题
- 🎆小结
- 🌺RESTful快速开发
RESTful架构风格近年来备受关注,它倡导一种简洁统一的接口设计理念,使接口更加直观易用。那么如何使用Spring MVC来开发RESTful接口呢?本文将为大家详细解析。
RESTful最核心的设计是资源,并使用HTTP方法对资源进行操作。我们将通过实例看到,Spring MVC提供了完美的RESTful支持。通过注解映射路径和方法,就可以轻松实现GET查询、POST创建、PUT更新、DELETE删除等接口。
Spring MVC中还提供了许多辅助特性,如自动转换路径变量,使我们可以脱离复杂的getParameter操作。整合RESTful的Spring MVC开发效率非常高,本文将让读者快速上手。
最后,我们还将了解RESTful开发的最佳实践和原则,包括版本管理、文档、认证授权等方面,帮助读者用SpringMVC构建优秀的RESTful服务,以支持复杂的企业应用场景。让我们开始RESTful之旅!
🎄REST简介
🌺RESTful入门案例
我们仍然按照下面的结构创建项目
pom.xml
<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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.example</groupId><artifactId>SpringMVC</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>Demo4</artifactId><packaging>war</packaging><name>Demo4 Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version><scope>compile</scope></dependency></dependencies><build><finalName>Demo4</finalName><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>80</port><path>/</path></configuration></plugin></plugins></build>
</project>
UserController
package com.example.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class UserController {
// @RequestMapping("/users")
// @ResponseBody
// public String save(){
// System.out.println("user save...");
// return "{'module':'user save'}";
// }@RequestMapping(value = "/users",method = RequestMethod.POST)@ResponseBodypublic String save(){System.out.println("user save...");return "{'module':'user save'}";}
}
⭐案例一
运行成功
⭐案例二
package com.example.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class UserController {@RequestMapping(value = "/users",method = RequestMethod.DELETE)@ResponseBodypublic String delete(Integer id) {System.out.println("user delete..." + id);return "{'module':'user delete'}";}
}
这里要选择delete了
运行成功
但是我们发现运行结果出现了null,证明没有传参
✨传参问题
加上@PathVariable
,表示路径变量
运行成功
🎆小结
🌺RESTful快速开发
简而言之就是简化代码
我们来修改一下
Spring MVC对RESTful提供了完整的支持,使得接口开发非常迅速高效。但要构建优秀的RESTful服务,我们还需要注意许多其他方面,比如安全性、扩展性、文档等。
本文只是RESTful开发的入门,希望读者可以在工作中不断总结经验和最佳实践。如果有更多疑问,请随时留言讨论。最后,接口开发也需要对业务有深入理解,才能设计恰当的资源模型。持续学习,祝各位RESTful开发顺利!
本文只是RESTful的基础入门,还有更多知识需要进一步学习,比如版本管理、文档swagger等等。如果大家在接口开发中还有任何疑问,欢迎在评论区与我交流。让我们共同学习,成为接口开发高手!