使用与不适用@RequestBody注解的区别

1.
如果使用@RequestBody接受页面参数:
public Map<String,Object> insertBudget(@ApiParam(required = true,name = "actBudgetCost",value = "预算")@RequestBody ActBudgetCost actBudgetCost, HttpServletRequest request){

}

那么前台页面ajax应该这样写:
$.ajax({
        url: ‘‘,
        type: "POST",
        data: JSON.stringify({
            "actiName":name
        }),
        dataType: "json",
        contentType: "application/json",
        async: false,
        success: function (result) {

        },
        error: function (xhr, ajaxOptions, thrownError) {
            //console.log(thrownError); //alert any HTTP error
            //alert("请求出错!");
            return false;
        }
    });

2.
如果不使用@RequestBody接受页面参数:
public Map<String, Object> regProduct(HttpServletRequest request,
                                           @ApiParam(name = "customerProAuditPO", value = "产品注册实体")CustomerProAuditVO customerProAuditVO
    ) {

}

那么前台页面ajax应该这样写:
var data = {
    customerName:customerName,
};
$.ajax({
        url:‘‘,
        type: "POST",
        data: data,
        //async: false,
        dataType:"json",
        success: function(result) {
            var json = result;

        },
        error: function (xhr, ajaxOptions, thrownError) {
            console.log(thrownError);
            return false;
        }
    });
时间: 2024-10-13 05:15:49

使用与不适用@RequestBody注解的区别的相关文章

@RequestBody和@ResponseBody注解的区别

@ResponseBody 注解表示该方法返回的结果直接写入Http响应正文,一般在异步获得数据时使用:在使用@RequestMapping后,返回值通常被解析为跳转路径,加上@ResponseBody后返回值不会被解析为跳转路径,而是直接写入HTTP响应正文中.例如,异步获得Json数据,加上@ResponseBody后  直接可以返回Json数据. @RequestBody注解将Http请求正文插入方法中,使用合适的HttpMessageCoverter将请求体写入某一个对象. 1 @Req

@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

[email protected] 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径:用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法,此处需注意@RequestMapping用在类上可以没用,但是用在方法上必须有. @RequestMapping("/verifyCode") public void verifyCod

浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

首先,大家在使用SSM框架进行web开发的时候,经常会在Ctrl层遇到@RequestMapping.@ResponseBody以及@RequestBody这三个参数,博主就以自己在项目开发中总结的一些知识点浅谈一下三者之间微妙的关系. [email protected] 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径:用于方法上,表示在类的父路径

@RequestParam、@RequestBody和@ModelAttribute区别

一.@RequestParamGET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上1. @RequestParam(org.springframework.web.bind.annotation.RequestParam)用于将指定的请求参数赋值给方法中的形参.例:(1) get请求: url请求:http://localhost:8080/WxProgram/findAllBookByTag?tagId=1&pageIndex=3 userTest.jsp &l

@requestBody注解的使用

1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等.一般情况下来说常用其来处理application/json类型. 2. 通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上. 例如说以下情况: $.ajax({ url:"/login",

@RequestBody注解用法

做Java已经有8个多月了,但是基本没有学习过Java语言,因此在项目中写代码基本靠的是其他语言的基础来写Java代码,写出来的很多代码虽然能用,但是感觉很不地道,虽然从来没有同事说过,但是我自己觉得是,因为我经常用下中国象棋的套路去下国际象棋. 在手头的项目用的SSM的框架,其中有用到Ajax的地方不少,方法是再简单不过了,在Ajax中对指定的URL提交参数,然后在Controller里通过request.getParameter()方法来接收参数.代码差不多就像下面的结构,Ajax的代码如下

springmvc中@requestbody注解接收请求参数

一.POST请求的四种常用方式 1.application/x-www-form-urlencoded 浏览器原生的表单,值为urlencoded之后的  key1=value1&key2=value2...... 2.multipart/form-data 浏览器原生的文件表单,用于传输文件 3.application/json 常用的请求头格式,值为json串  {"key1":"value1","key2":"value2

springMVC的@RequestBody注解使用

如果没有特殊的设置,无论用什么样的http请求方法,只要携带body参数,用@RequestBody都是可以获取到body的内容的 参数是json字符串格式,使用方式有两种 @RequestBody只有一个属性,required默认等于true,如果不设置required属性,就默认必须传body体,否则会报400错误,如果设置了body体,但是没有设置header或者设置了header:content-type!=application/json ,会报415错误 第一种:使用@Request

@PathVariable注解和@RequestBody注解

@PathVariable注解的作用.获取请求地址中传递的参数 @RequestBody注解的作用.将请求中的json封装到对象中. 原文地址:https://www.cnblogs.com/jtfr/p/10360564.html