java spring MVC之RESTful快速开发

这篇具有很好参考价值的文章主要介绍了java spring MVC之RESTful快速开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我这里有个一springboot项目
java spring MVC之RESTful快速开发
我在启动类同目录下创建了一个目录 目录名叫 controller
里面有一个UserController
diam结构是这样的

package com.example.threshold.controller;

import com.example.threshold.user;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

//声明Controller控制器
@Controller
public class UserController {

    // 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面
    @RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
    @ResponseBody
    public String getId(@PathVariable Integer id) {
        return "您要获取的用户id为"+id;
    }

    //设置一个 POST请求  子路径叫  add 接受一个name参数   需要传递的方式是一个 表单传参或者路径问号后传参方式带的参数
    @RequestMapping(value = "/user", method = RequestMethod.POST)
    @ResponseBody
    public String addUser(@RequestParam String name) {
        return "你要添加的用户名称为"+name;
    }

    //设置一个 PUT请求 子路径叫  edit   接受一个user类对象参数  要求json传参
    @RequestMapping(value = "/user", method = RequestMethod.PUT)
    @ResponseBody
    public user editUser(@RequestBody user user) {
        //把接到的json传回去
        return user;
    }

    // 设置一个DELETE请求  子路径为delete   接受一个参数id 和 一个type参数  接受方式为  表单或者 路径问号后携带参数
    @RequestMapping(value = "/user", method = RequestMethod.DELETE)
    @ResponseBody
    public String deleteUser(@RequestParam Integer id,Integer type) {
        return "你要删除的用户id为"+id+"操作类型为"+type;
    }
}

这是一个基础的REST风格风格开发 但其实 我们可以很大程度的简化

这里 我先启动项目
java spring MVC之RESTful快速开发
然后用Postman测试 这些都是可以正常访问 和 调用返回的
java spring MVC之RESTful快速开发
确认无误之后 我们开一个一个解决一下他们的简化快捷开发

首先 来做第一个简化 大家会发现 他们路径都是user 那么 简化最需要简的就是 重复部分 我们先改成这样

package com.example.threshold.controller;

import com.example.threshold.user;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

//声明Controller控制器
@Controller
@RequestMapping("/user")
public class UserController {

    // 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面
    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
    @ResponseBody
    public String getId(@PathVariable Integer id) {
        return "您要获取的用户id为"+id;
    }

    //设置一个 POST请求  子路径叫  add 接受一个name参数   需要传递的方式是一个 表单传参或者路径问号后传参方式带的参数
    @RequestMapping( method = RequestMethod.POST)
    @ResponseBody
    public String addUser(@RequestParam String name) {
        return "你要添加的用户名称为"+name;
    }

    //设置一个 PUT请求 子路径叫  edit   接受一个user类对象参数  要求json传参
    @RequestMapping(method = RequestMethod.PUT)
    @ResponseBody
    public user editUser(@RequestBody user user) {
        //把接到的json传回去
        return user;
    }

    // 设置一个DELETE请求  子路径为delete   接受一个参数id 和 一个type参数  接受方式为  表单或者 路径问号后携带参数
    @RequestMapping(method = RequestMethod.DELETE)
    @ResponseBody
    public String deleteUser(@RequestParam Integer id,Integer type) {
        return "你要删除的用户id为"+id+"操作类型为"+type;
    }
}

我们再次尝试访问 会确认一切正常
java spring MVC之RESTful快速开发
这里 触发 get 因为后面的id是路径参数 需要保留 其他 如果你想直接用user这个名字 就不需要加这个RequestMapping的value来声明路径了
如果你想叫 user/add 就可以 直接放

@RequestMapping(value = "/add",method = RequestMethod.POST)

然后 你会发现 全部都用了 ResponseBody
那么是不是重复 那我们干掉
写在类上面 每个方法就不需要单独加了 这个就表示 这个类下所有的方法都使用ResponseBody
java spring MVC之RESTful快速开发

然后是头上的

@Controller
@ResponseBody

其实很多类都会用 那么 我们就可以这样
将这两个注解干掉直接换成

@RestController

java spring MVC之RESTful快速开发
我们点进去看一下
java spring MVC之RESTful快速开发
都在这里面了

然后 我们发现 每一个方法都有一个 RequestMethod.请求方式 这个也可以写简单一点
我们直接改成这样

package com.example.threshold.controller;

import com.example.threshold.user;
import org.springframework.web.bind.annotation.*;

//声明Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {

    // 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面
    @GetMapping("/{id}")
    public String getId(@PathVariable Integer id) {
        return "您要获取的用户id为"+id;
    }

    //设置一个 POST请求  子路径叫  add 接受一个name参数   需要传递的方式是一个 表单传参或者路径问号后传参方式带的参数
    @PostMapping
    public String addUser(@RequestParam String name) {
        return "你要添加的用户名称为"+name;
    }

    //设置一个 PUT请求 子路径叫  edit   接受一个user类对象参数  要求json传参
    @PutMapping
    public user editUser(@RequestBody user user) {
        //把接到的json传回去
        return user;
    }

    // 设置一个DELETE请求  子路径为delete   接受一个参数id 和 一个type参数  接受方式为  表单或者 路径问号后携带参数
    @DeleteMapping
    public String deleteUser(@RequestParam Integer id,Integer type) {
        return "你要删除的用户id为"+id+"操作类型为"+type;
    }
}

DeleteMapping声明delete 请求
PutMapping声明put 请求
PostMapping声明post 请求
GetMapping声明get 请求
如果 有路径 或者路径参数这几 在后面接 (“/后面的内容”)
就好了文章来源地址https://www.toymoban.com/news/detail-450410.html

到了这里,关于java spring MVC之RESTful快速开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何构建高可靠性互联网应用?或许这里有个答案

    如今,如何保证互联网平台服务的可靠性和稳定性成为整个互联网行业面临的难题。谷歌提出的 SRE (网站可靠性,本意是软件可靠性工程)方法被业界奉为解决这一难题的经典。 SRE理念是近年来运维领域最重要的变革,影响广泛而深远。从SRE的核心理念出发,运维都是围绕

    2023年04月18日
    浏览(25)
  • Java EE 突击 11 - Spring MVC 程序开发 (2)

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月13日
    浏览(55)
  • Java EE 突击 10 - Spring MVC 程序开发 (1)

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月13日
    浏览(37)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第五天)MyBatis的注解开发

    ​ 昨天我们深入学习了 MyBatis多表之间的关联映射,了解掌握了一对一关联映射,一对多关联映射,嵌套查询方式以及嵌套结果方式,掌握了缓存机制的一级缓存,二级缓存等概念,也使用了代码进行复现理解 。但是都是基于XML配置文件的方式来实现的,现在我们要学习一下

    2024年02月11日
    浏览(41)
  • 【Spring】快速入门Spring Web MVC

    Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为\\\"SpringMVC\\\"。 想要更好的理解SpringMVC,我们需要理解什么是MVC。 MVC 是 Model View Controller 的缩写,它是软件⼯程中的

    2024年02月08日
    浏览(30)
  • (第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

    ​ 昨天我们已经把Mybatis框架的基本知识全部学完,内容有Mybatis是一个半自动化的持久层ORM框架,深入学习编写动态SQL,Mybatis的关联映射,一对一、一对多、多对多、Mybatis的缓存机制,一二级缓存的开启和设置,缓存命中率、如何使用idea链接数据库自动生成pojo类等。我们学

    2024年02月10日
    浏览(51)
  • 【Spring MVC】快速学习使用Spring MVC的注解及三层架构

    💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring MVC】快速学习使用Spring MVC的注解及三层架构 🎉欢迎大家点赞👍评论📝收藏⭐文章 SpringWebMVC是基于ServletAPI构建的原始Web框架,从⼀开始就包含在Spring框架中。它的正式名称“SpringWebMVC”来⾃其源模块的名称(Spri

    2024年04月17日
    浏览(30)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第三天)动态SQL

    昨天我们深入学习了 Mybatis的核心对象SqlSessionFactoryBuilder , 掌握MyBatis核心配置文件以及元素的使用 ,也掌握MyBatis映射文件及其元素的使用。那么今天我们需要掌握的是更加复杂的查询操作。 学会编写MyBatis中动态SQL 学会MyBatis的条件查询操作 学会MyBatis的更新操作 学会MyBati

    2024年02月11日
    浏览(40)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第一天)Mybatis的学习

    一、当前的主流框架介绍(这就是后期我会发出来的框架学习) Spring框架 ​ Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的 ,其主要优势之一就是分层架构。 Spring提供了更完善的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象 )对象提供企业级

    2024年02月12日
    浏览(40)
  • (第十一天)初识SpringMVC SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

    今天我们要来学习一下SSM框架的最后一个框架SpringMVC 一、初认SpringMVC 基本概念: ​ Spring MVC(Model-View-Controller)是一个用于构建Java Web应用程序的开源框架,它提供了一种基于MVC架构的方式来开发Web应用 。 ​ SpringMVC是Spring Framework的一部分,它是一种基于模型-视图-控制器(

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包