在 Spring MVC 中,用于接收前端传递的参数的注解常用的有以下几种

目录

1、对于json请求体参数,

2、对于路径传参

3、对于query传参

4、对于form-data参数,

总结:


 

1、对于json请求体参数,

请求头的Content-Type应为application/json。在前端,可以使用data格式传参。在后端,可以使用@RequestBody注解来接收参数。

 this.$axios({
           method: 'post',
           url: 'http://localhost:8080/api/upload/editGoods',
           data: {
              id: this.id,
              name: this.name,
              price: this.price

                }
            }).then((res) => {
                this.$message({
                    message: '修改成功',
                    type: 'success'
                })
            })
   @GetMapping("/editGoods")
    public Result editGoods(@RequestBody Goods goods) {
        return uploadFileService.editGoods(goods);
    }

 

2、对于路径传参

(例如:test/111/2222),请求头不需要设置Content-Type。在前端,可以将参数通过URL的方式传递(例如:url=/api/upload/test2/111/2222)。在后端,可以使用@PathVariable注解来接收参数。

 this.$axios({
          method: 'post',
          url: 'http://localhost:8080/api/user/deleteUser/' + userId,
        }).then((res) => {
          this.$message({
            message: res.data.message,
            type: "success",
          });
          // 刷新表格数据
          this.selectUser();
        });
      }).catch(() => {
        // 用户点击了取消按钮
        // 执行取消操作或不执行任何操作
      });
    @PostMapping("/deleteUser/{userId}")
    public Result deleteUser(@PathVariable String userId) {

        return userservice.deleteUser(userId);
    }

3、对于query传参

(例如:test3?id=11111&name=222222),请求头也不需要设置Content-Type。在前端,可以将参数通过URL的方式传递(例如:url=/api/upload/test3?id=11111&name=222222)。在后端,可以使用@RequestParam注解来接收参数。

this.$axios({
  method: 'post',
  url: 'http://localhost:8080/api/user/deleteUser',
  params: {
    userId: userId
  }
}).then((res) => {
  this.$message({
    message: res.data.message,
    type: "success",
  });
  // 刷新表格数据
  this.selectUser();
}).catch(() => {
  // 用户点击了取消按钮
  // 执行取消操作或不执行任何操作
});
 //params传参
    @GetMapping("/editGoods");
    public String editGoods(@RequestParam String id, @RequestParam  String name) {
        System.out.println(id);
        System.out.println(name);

        return id;
    }

4、对于form-data参数,

请求头的Content-Type应为multipart/form-data。在前端,可以使用params格式传参。在后端,可以使用@RequestParam注解来接收参数。

 

  this.$axios({
           method: 'post',
           url: 'http://localhost:8080/api/upload/editGoods',
           params: {
                 id: this.id,
                 name: this.name,

              }
            }).then((res) => {
                this.$message({
                    message: '修改成功',
                    type: 'success'
                })
            })
 //params传参
    @GetMapping("/editGoods");
    public String editGoods(@RequestParam String id, @RequestParam  String name) {
        System.out.println(id);
        System.out.println(name);

        return id;
    }

 query传参和form-data传参,后端接收是一样的

总结:

  • - form-data参数使用multipart/form-data作为Content-Type,前端使用params格式传参,后端使用@RequestParam注解接收参数。
  • - json请求体参数使用application/json作为Content-Type,前端使用data格式传参,后端使用@RequestBody注解接收参数。
  • - 路径传参不需要设置Content-Type,前端将参数通过URL传递,后端使用@PathVariable注解接收参数。
  • - query传参也不需要设置Content-Type,前端将参数通过URL传递,后端使用@RequestParam注解接收参数。

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SpringMVC执行流程大致可以分为以下几个步骤: 1. 客户端发送请求至DispatcherServlet。 2. DispatcherServlet收到请求后,根据请求URL找到对应的Controller。 3. Controller接收请求后,调用Service层处理请求。 4. Service层处理请求后,将数据返回给Controller。 5. Controller将处理结果返回给DispatcherServlet。 6. DispatcherServlet将处理结果返回给客户端。 在执行流程,DispatcherServlet是核心控制器,负责协调各个组件的工作,并根据请求URL找到对应的Controller。Controller负责接收请求并调用Service层处理请求。Service层处理请求并将数据返回给Controller。最终,Controller将处理结果返回给DispatcherServlet,DispatcherServlet将处理结果返回给客户端。 ### 回答2: Spring MVC是一种基于Java的Web开发框架,它提供了一套机制来帮助开发者构建灵活、模块化和可扩展的Web应用程序。 Spring MVC的执行流程如下: 1. 客户端发送HTTP请求到DispatcherServlet。DispatcherServlet是Spring MVC的核心控制器,它拦截所有的请求,然后根据请求的URL将请求转发给相应的控制器。 2. DispatcherServlet根据请求的URL查找处理该请求的控制器。在Spring MVC,控制器是一个POJO类,使用@Controller注解标识。 3. 控制器处理请求并返回一个ModelAndView对象。在控制器,可以通过注解@RequestMapping来映射请求URL到相应的方法。 4. DispatcherServlet根据控制器返回的ModelAndView对象选择相应的ViewResolver来解析视图。ViewResolver负责将逻辑视图名解析为具体的视图对象。视图通常是JSP、Thymeleaf 或者Freemarker等模板引擎。 5. ViewResolver返回视图对象给DispatcherServlet。 6. DispatcherServlet将Model对象传递给视图对象。在控制器,可以通过注解@ModelAttribute将模型对象添加到请求域。 7. 视图对象渲染响应结果并返回给DispatcherServlet。 8. DispatcherServlet将视图对象的渲染结果返回给客户端。 以上就是Spring MVC的执行流程。通过这一流程,我们可以灵活地处理Web请求并生成响应结果。Spring MVC提供了一套简洁而强大的机制,使得我们开发Web应用更加容易和高效。 ### 回答3: Spring MVC是基于MVC设计模式的一种轻量级的Web框架。其执行流程如下: 1. 客户端发送一个HTTP请求到服务器,并由前端控制器DispatcherServlet拦截请求。 2. DispatcherServlet是Spring MVC框架的核心组件,负责调度和协调请求的处理。它根据配置文件找到对应的处理器映射器HandlerMapping。 3. HandlerMapping将根据请求的URL找到对应的处理器Handler。 4. 执行处理器Handler,该处理器是一个有用户自定义代码编写的控制器Controller。处理器会根据业务逻辑进行处理,并返回一个ModelAndView对象。 5. ModelAndView对象包含了视图名称和模型数据。视图名称会被视图解析器ViewResolver解析为具体的视图。 6. 视图渲染器ViewResolver会根据视图名称找到对应的视图模板,将模型数据充到视图模板。 7. 最终,视图会被渲染成HTML响应返回给客户端。 在整个执行流程Spring MVC提供了许多扩展点,如拦截器Interceptor和处理器适配器HandlerAdapter等,开发者可以根据需求来进行配置和自定义。同时,Spring MVC还提供了各种注解和标签来简化开发,如@Controller注解用于标识控制器,@RequestMapping注解用于处理请求映射,以及<form:form>标签用于生成表单等。 总而言之,Spring MVC的执行流程清晰简洁,通过分层架构和配置文件,将请求的处理过程分解成各个组件的责任和协作,使得开发者可以更加专注于业务逻辑的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娃哈哈哈哈呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值