相关推荐recommended
【SpringMVC篇】讲解RESTful相关知识
作者:mmseoamin日期:2023-12-11

🎊专栏【SpringMVC】

🍔喜欢的诗句:天行健,君子以自强不息。

🎆音乐分享【如愿】

🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录

  • 🎄REST简介
  • 🌺RESTful入门案例
    • ⭐案例一
    • ⭐案例二
      • ✨传参问题
      • 🎆小结
      • 🌺RESTful快速开发

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第1张

        RESTful架构风格近年来备受关注,它倡导一种简洁统一的接口设计理念,使接口更加直观易用。那么如何使用Spring MVC来开发RESTful接口呢?本文将为大家详细解析。

        RESTful最核心的设计是资源,并使用HTTP方法对资源进行操作。我们将通过实例看到,Spring MVC提供了完美的RESTful支持。通过注解映射路径和方法,就可以轻松实现GET查询、POST创建、PUT更新、DELETE删除等接口。

        Spring MVC中还提供了许多辅助特性,如自动转换路径变量,使我们可以脱离复杂的getParameter操作。整合RESTful的Spring MVC开发效率非常高,本文将让读者快速上手。

        最后,我们还将了解RESTful开发的最佳实践和原则,包括版本管理、文档、认证授权等方面,帮助读者用SpringMVC构建优秀的RESTful服务,以支持复杂的企业应用场景。让我们开始RESTful之旅!

        🎄REST简介

        【SpringMVC篇】讲解RESTful相关知识,请添加图片描述,第2张

        【SpringMVC篇】讲解RESTful相关知识,请添加图片描述,第3张

        🌺RESTful入门案例

        我们仍然按照下面的结构创建项目

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第4张

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第5张

        pom.xml

        
            4.0.0
            
                org.example
                SpringMVC
                1.0-SNAPSHOT
            
            Demo4
            war
            Demo4 Maven Webapp
            http://maven.apache.org
            
                
                    junit
                    junit
                    3.8.1
                    test
                
                
                    org.springframework
                    spring-web
                    5.2.10.RELEASE
                
                
                    javax.servlet
                    javax.servlet-api
                    3.0.1
                    provided
                
                
                    org.springframework
                    spring-webmvc
                    5.2.10.RELEASE
                    compile
                
            
            
                Demo4
                
                    
                        org.apache.tomcat.maven
                        tomcat7-maven-plugin
                        2.1
                        
                            80
                            /
                        
                    
                
            
        
        

        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)
            @ResponseBody
            public String save(){
                System.out.println("user save...");
                return "{'module':'user save'}";
            }
        }
        

        ⭐案例一

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第6张

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第7张

        运行成功

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第8张

        ⭐案例二

        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)
            @ResponseBody
            public String delete(Integer id) {
                System.out.println("user delete..." + id);
                return "{'module':'user delete'}";
            }
        }
        

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第9张

        这里要选择delete了

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第10张

        运行成功

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第11张

        但是我们发现运行结果出现了null,证明没有传参

        ✨传参问题

        加上@PathVariable,表示路径变量

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第12张

        运行成功

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第13张

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第14张

        🎆小结

        【SpringMVC篇】讲解RESTful相关知识,请添加图片描述,第15张

        【SpringMVC篇】讲解RESTful相关知识,请添加图片描述,第16张

        【SpringMVC篇】讲解RESTful相关知识,请添加图片描述,第17张

        🌺RESTful快速开发

        简而言之就是简化代码

        我们来修改一下

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第18张

        Spring MVC对RESTful提供了完整的支持,使得接口开发非常迅速高效。但要构建优秀的RESTful服务,我们还需要注意许多其他方面,比如安全性、扩展性、文档等。

        本文只是RESTful开发的入门,希望读者可以在工作中不断总结经验和最佳实践。如果有更多疑问,请随时留言讨论。最后,接口开发也需要对业务有深入理解,才能设计恰当的资源模型。持续学习,祝各位RESTful开发顺利!

        本文只是RESTful的基础入门,还有更多知识需要进一步学习,比如版本管理、文档swagger等等。如果大家在接口开发中还有任何疑问,欢迎在评论区与我交流。让我们共同学习,成为接口开发高手!

        【SpringMVC篇】讲解RESTful相关知识,在这里插入图片描述,第19张