精华内容
下载资源
问答
  • 在我们工作中,有时候接口要接收很多参数,然后转化为对象,能不能直接在controller方法中直接接收对象参数呢? 答案是可以的,只要前端传过来的参数名跟对象的属性一一对应的json格式就可以,同时必须引入json解析...

    在我们工作中,有时候接口要接收很多参数,然后转化为对象,能不能直接在controller方法中直接接收对象参数呢?

    答案是可以的,只要前端传过来的参数名跟对象的属性一一对应的json格式就可以,同时必须引入json解析的依赖。

    首先,创建一个实体类作为测试用:

    public class Cat {
        private String name;
        private Integer age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    }

    接下来写controller接口,我们接收的参数类型为刚刚创建的实体类(Cat),使用注解@RequestBody:

    @RestController
    public class HelloController {
    
        @PostMapping("/pojo")
        public String pojo(@RequestBody Cat cat){
            return cat.getName()+":"+cat.getAge();
        }
    
    }

    启动项目,打开postman测试:

    ①将content-type改为json

     

    ②在body上使用json格式请求参数

     

    ③测试结果:

     

    所以以后如果接口要接收对象参数时,可以使用此方法。

    展开全文
  • 如果Spring Boot中对应的Controller接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢。 本篇文章给大家一个简单的示例,提供一种实现方式。 实体类 首先看实体类的结构(注意...

    如果Spring Boot中对应的Controller要接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢。

    本篇文章给大家一个简单的示例,提供一种实现方式。

    实体类

    首先看实体类的结构(注意使用了Lombok):

    @Data
    public class Rules {
    	private List<Rule> rules;
    }
    

    对应Rule实体类代码如下:

    @Data
    public class Rule {
    
    	/**
    	 * 类名
    	 */
    	private String className;
    
    	/**
    	 * 字段名称
    	 */
    	private String column;
    
    	/**
    	 * 操作符
    	 */
    	private String operate;
    
    	/**
    	 * 对应值
    	 */
    	private String value;
    }
    

    对应Controller方法

    @Controller
    public class ManagerRulesController {
    
    	@PostMapping("/rules/add")
    	public String addDrl(Rules rules) {
    		
    		if (rules != null) {
    			List<Rule> ruleList = rules.getRules();
    			
    			for (Rule rule : ruleList) {
    				// 具体业务处理
    			}
    		return "result";
    	}
    }	
    

    对应页面呈现

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>规则页面管理页面</title>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css"/>
    </head>
    <body class="container">
    <h4>页面拼接模式</h4>
    
    <form method="post" action="/rules/add">
        <#--第一条条件-->
        <div id="condition-0">
            <div class="form-group">
                <label>金额:</label>
                <input type="hidden" name="rules[0].column" value="amount">
                操作属性操作:
                <select class="form-control" name="rules[0].operate">
                    <option value=">">大于</option>
                    <option value="<">小于</option>
                </select>
                属性值:
                <input type="text" class="form-control" name="rules[0].value" placeholder="输入值"  value="1">
            </div>
        </div>
        <div id="condition-1">
            <div class="form-group">
                <label>金额:</label>
                <input type="hidden" name="rules[1].column" value="amount">
                操作属性操作:
                <select class="form-control" name="rules[1].operate">
                    <option value="<">小于</option>
                    <option value=">">大于</option>
                </select>
                属性值:
                <input type="text" class="form-control" name="rules[1].value" placeholder="输入值"  value="100">
            </div>
        </div>
        <button type="submit" class="btn btn btn-info">提交</button>
    </form>
    
    </body>
    
    </html>
    

    注意要提交的页面元素的name值为“rules[1].column”。通过这种形式来指定列表中的第几个元素的具体属性值是什么。

    精品SpringBoot 2.x视频教程

    《Spring Boot 2.x 视频教程全家桶》精品Spring Boot 2.x视频教程,打造一套最全的Spring Boot 2.x视频教程。


    程序新视界

    公众号“程序新视界”,一个让你软实力、硬技术同步提升的平台

    csdn-微信公众号

    展开全文
  • controller同时接收参数为实体对象跟MultipartFile对象报错 现象: @PostMapping("/test") public Test createConnectorFirmware(@Valid @RequestBody Test test, @Valid @RequestParam MultipartFile file) ...

    在controller同时接收参数为实体对象跟MultipartFile对象报错

    现象:

     @PostMapping("/test")
     public Test createConnectorFirmware(@Valid @RequestBody Test test, @Valid @RequestParam MultipartFile file)  {
    
       }

     错误信息:

    { "timestamp": "xxx", "status": 415, "error": "Unsupported Media Type", "message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundaryNq8sxBAWWDbNj1Bm;charset=UTF-8' not supported", "path": "xxx" }

     原因:

    前端在走接口上传文件的同时会将请求header的content-type设置为:multipart/form-data, 或者form表单提交的时候将enctype设置为"multipart/form-data" 。

    后端收到请求时由于请求体有@RequestBody 注解标识,通常会用application/json, application/xml处理content-type,此时会报编码格式的问题,

    解决方法:

    MultipartFile这样的multipart/form-data媒体类型优先级会高于application/json,而配置@RequestBody 感觉使用一个低优先级的handle一个高优先级的从而报错。所以在multipart/form-data媒体类型请求时将@RequestBody去掉就可以了。

    展开全文
  • Spring Mvc controller 接收对象的时候,怎么保证对象不为NULL
  • controller接收参数对象是vo还是dto?

    千次阅读 2019-09-29 22:18:13
    我也没有深入了解过,就我使用情况来说的话,VO和DTO在实际开发过程中其实可以是一样的。从定义上来说他们区别于...至于你这里的controller接收参数要看是接收service的参数还是页面传递过来的参数了,若是页面传递...
    我也没有深入了解过,就我使用情况来说的话,VO和DTO在实际开发过程中其实可以是一样的。从定义上来说他们区别于使用的所在层,VO(view object)视图对象,DTO(Data Transfer Object),数据传输对象; 至于你这里的controller接收参数要看是接收service的参数还是页面传递过来的参数了,若是页面传递的参数叫VO,service传递的参数叫DTO。。
    以上是我拙见,有什么错误的地方欢迎指出!

    转载于:https://www.cnblogs.com/jpfss/p/9355594.html

    展开全文
  • 后端controller接收前端参数的方法 1. 使用对象接收的情况 Brand类 /** * 品牌 */ @Data @TableName("tb_brand") public class Brand { @TableId(type = IdType.AUTO) private Long id; private String name;...
  • Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring ...
  • springboot中controller接收Date参数有两种写法 如果不正确处理会报异常 Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' 正确处理方式为 第一种,在controller中...
  • 原因: 1,可能是controller接收参数的数据类型和前台传过来的参数不一样 2,可能是controller接收参数和前台传到后台的参数不一样,如下图所示 ...
  • Controller接收请求参数的常见方式 通过实体bean接收请求参数 通过处理方法的形参接收请求参数 通过HttpServletRequest接收请求参数 通过@PathVariable接收URL中的请求参数 通过@RequestParam接收请求参数 ...
  • 背景:项目是maven的分模块项目,所以entity和controller是在不同的模块里面 解决办法:可能是更改了对象的某些属性过后没有install entity所在的模块,尝试install了过后解决了问题 ...
  • Springmvc controller接收请求参数类型

    千次阅读 2018-03-03 13:18:47
    第一种情况:数据是基本类型或者String  1, 直接用表单提交,参数名称相同即可;...Controller参数定义为数组类型即可.不要定义为List  Html代码  form action="${pageContext.request.contextPat
  • SpringBoot Controller接收参数的几种常用方式

    万次阅读 多人点赞 2018-05-25 00:56:47
    第一类:请求路径参数 1、@PathVariable 获取路径参数。即url/{id}这种形式。 2、@RequestParam 获取查询参数。即url?name=这种形式 例子 GET http://localhost:8080/demo/123?name=suki_rong 对应的java...
  • Controller接收参数的方式

    千次阅读 2020-11-19 14:53:38
    Controller接收参数的方式 GET请求 采用query方式 代码形式: @GetMapping("/demo/{id}") public Enterprise selectOne(@RequestParams Integer id) { return this.enterpriseService.queryById(id); } POST请求...
  • (1) 普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestParamController { private static final Logger logger = LoggerFactory.getLogger...
  • Controller 中注解使用接受参数的几种传输方式以及几种注解: ...这一篇中我们就来聊一聊怎么更有效的接收Json参数。传输参数的几种Method在定义一个Rest接口时,我们通常会使用GET,POST,PUT,DELETE几种方式来完成我
  • 验证前端Postman提交参数,后端spring controller接收参数 最近在做项目开发时,前端用vue,后端是springboot搭建的项目,传递参数和接收参数时总是报错400,414等错误。 总结下来,基本都是headers头信息里设置...
  • 1.前台传数组: var ids=[1,2,3,4,5,6] $.ajax({ ... type:"post", dateType:'json', data:{ ids:ids }, success:function(res){ var objs=eval(res); //解析json对象 //console.log("数据=="+JSON.st
  • SpringMVC Controller接收参数总结

    千次阅读 2018-06-28 10:20:48
    SpringMVC Controller接收参数总结1. 基本数据类型(以int为例,其他类似):Controller代码:@RequestMapping("saysth.do") public void test(int count) { }表单代码:&lt;form action="saysth....
  • (1) 普通方式-请求参数名和Controller方法的参数名字一致 @Controller @RequestMapping("/param") public class TestParamController { private static final Logger logger = LoggerFactory.getLogger...
  • springboot controller接收参数

    千次阅读 2019-07-15 00:03:39
    SpringBoot 获取前端页面参数的集中方式总结 Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解 案例说明 @RequestBody接受Map&lt;String, String&gt; @PostMapping(path = "/demo1"...
  • 主要给大家介绍了关于spring实现根据controller接收请求参数不同走不同service的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • controller接收列表参数,List<Entity>

    千次阅读 2018-09-14 21:22:17
    转 ... $.ajax请求加请求头 contentType: 'application/json;charset=utf-8' ...controller @PostMapping ( "/map" ) public Object testMap (@RequestBody List<User> data) { return data; }
  • 请问怎么样修改才能用下边的地址访问能让后台接收对象呢??? http://127.0.0.1:8090/mxciBusiness/busi/userInfo.action?method=regist&userInfo={"userId": "wangyan888","customerId": "BUSI20160125000001",...
  • Controller接收list参数

    2021-02-26 15:13:53
    ##Controller接收list参数 1.作为实体类的属性接收 2.使用注解@RequestParam(“list”) List list
  • 与Spring mvc Controller接收参数直接相关的有三个注解:@RequestParam、@PathVariable和@RequestBody。 @RequestParam:取query string当中的参数,query string参数就是请求url中的查询参数,例如:/test?id=1,...
  • SpringMVC Controller接收参数总结   何平行者 关注 2016.11.10 19:28* 字数 738 阅读 12309评论 6喜欢 44赞赏 2 本文中Controller的开发环境如下表格所示 系统/工具 版本号 OS Windows 7 ...
  •  后台接收乱码数据:  {"id":17,"lastName":"èμμ?1?","email":"zhaoliu@163.com","gender":1,"cardNumber":"20190314002","post":"?¨??o????","departmentId":1}  修改配置后接收正常数据:  {"id":17,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,068
精华内容 30,027
关键字:

controller如何接收对象参数