@Springboot搭建项目controller层接收json格式的对象失败

今天在使用swagger2测试的时候出错 

 

1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。

  2、

    通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。
    例如说以下情况:
    $.ajax({
        url:"/login",
        type:"POST",
        data:'{"userName":"admin","pwd","admin123"}',
        content-type:"application/json charset=utf-8",
        success:function(data){
          alert("request success ! ");
        }
    });

    @requestMapping("/login")
    public void login(@requestBody String userName,@requestBody String pwd){
      System.out.println(userName+" :"+pwd);
    }
    这种情况是将JSON字符串中的两个变量的值分别赋予了两个字符串,但是呢假如我有一个User类,拥有如下字段:
      String userName;
      String pwd;
    那么上述参数可以改为以下形式:

@requestBody User user 这种形式会将JSON字符串中的值赋予user中对应的属性上
    需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。

 3、

    在一些特殊情况@requestBody也可以用来处理content-type类型为application/x-www-form-urlcoded的内容,只不过这种方式

    不是很常用,在处理这类请求的时候,@requestBody会将处理结果放到一个MultiValueMap<String,String>中,这种情况一般在
    特殊情况下才会使用,
    例如jQuery easyUI的datagrid请求数据的时候需要使用到这种方式、小型项目只创建一个POJO类的话也可以使用这种接受方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『技术群里聊些啥』HttpClient 如何判断是同一终结点

前言官方文档对 HttpClientHandler.MaxConnectionsPerServer 属性有如下说明&#xff1a;获取或设置使用 HttpClient 对象发出请求时允许的最大并发连接数&#xff08;每个服务器终结点&#xff09;。请注意&#xff0c;该限制针对每个服务器终结点&#xff0c;例如&#xff0c…

【Envi风暴】Envi 5.3 SP1经典安装手把手图文教程(含补丁文件)

Envi 5.3具有传感器和数据支持、图像处理和显示、用户界面、二次开发等新功能,本文讲解Envi 5.3 SP1完全安装教程。 下载后的软件包目录如下所示: 目录 一、Envi 5.3 SP1安装 二、Envi 5.3 SP1下载地址 一、Envi 5.3 SP1安装 点击IDL_ENVI5.3 SP1win64.exe,开始安装,…

apache php url重写语法,apache url重写实现伪静态

前段时间项目为了配合seo的工作&#xff0c;把现有的php网站改成静态页面&#xff0c;刚拿到需求时候第一感觉就是用静态页面啊&#xff0c;可是看了一会以后发现页面有点多4、50个&#xff0c;没办法就用比较简单的url重写(apache的)吧&#xff0c;去掉这个前面的#,启用它Load…

Android之用java的socket写服务器提示java.net.BindException: Address already in use

1 问题 在Android activity里面Java socket服务器,然后关闭activity再打开activity开启服务的时候提示错误如下 java.net.BindException: Address already in use 很明显这个,IP和端口的的socket已经使用了,我们只需要在关闭activity的时候关闭serverSocket就行了。 2 解…

《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖…

List 集合转换为String

开发中会用到把 List<string> 的内容拼接成以逗号分隔的字符串的形式,现总结如下&#xff1a; 方法一: public String listToString(List list, char separator) { StringBuilder sb new StringBuilder(); for (int i 0; i < list.size(); i) { …

[leetcode]Pascal#39;s Triangle II

问题叙述性说明&#xff1a; Given an index k, return the kth row of the Pascals triangle. For example, given k 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra space? 思路&#xff1a; the mth element of the nth row of th…

遥感方法研究张掖市1999-2010年土地利用变化

【方法思路】:本文选取张掖地区两期影像(Landsat 1999-07-07,2010-09-07),用监督分类方法获取各期土地利用类型,与已有的土地利用现状矢量图(landuse2000)相叠加,通过对比分析,进而得出张掖市1999-2010年间土地利用变化情况。 一、实验数据 采用Landsat Tm影像,原始…

【MongoDB】递归获取字段更新表达式,更新复杂数据类型对象

在实际更新Mongo对象时发现&#xff0c;原有的更新代码无法更新复杂的数据类型对象。恰好看到张占岭老师有对该方法做相关的改进&#xff0c;因此全抄了下来。 总的核心思想就是运用反射与递归&#xff0c;对对象属性一层一层挖掘下去&#xff0c;循环创建父类及之类的更新表达…

java openxml 操作 word,openxml word转成xml

word2007无法打开Office Open XML 文档由于种种原因&#xff0c;如程序安装错误、注册表被修改&#xff0c;或系统被病毒侵害等。有时候会造成WORD 2007无法打开.DOC文档的问题&#xff0c;常规的处理办法(右键选择“打开方式”)无效。可以试试如下的方法 &#xff1a;1.打开注…

聊一聊CLR源码中的 #define 是怎么玩的

一&#xff1a;背景 如果大家看过 CLR 源码&#xff0c;会发现里面有很多 #define 宏定义,比如说 fusionhelpers.hpp 头文件里。如果你不熟悉 C &#xff0c;看到这些 #define 应该会很晕的&#xff0c;这篇我们就来简单聊聊 define 的玩法&#xff0c;其实说白了很简单, #defi…

《看聊天记录都学不会C语言?太菜了吧》(11)2分钟领悟数组

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖…

Android之android8.1打开热点提示UID 10140 does not have Location permission和Location mode is enabled.

1 问题 在三星安卓8.1版本手机上,打开热点 WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);wifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {@TargetApi(Build.VERSION_CODES.O…

基于CentOS 7配置Nginx正向代理

Nginx是一款以轻量级、低内存开销、支持缓存、支持反向代理&#xff0c;负载均衡&#xff0c;电子邮件服务而著称。对于鲜为人知的是&#xff0c;它还可以作为一个简单易用的正向代理服务器。本文简要描述这个正向代理功能并给出演示&#xff0c;供大家参考。 有关Nginx的安装请…

【ArcObject开发】实验:ArcObject地图开发基本操作

ArcObjects,是基于Microsoft COM技术所构建的一系列COM组件集,是在ArcGIS Desktop平台基础上的二次开发,开发语言为VBA(Vistal Basic for Application)。下面将AO开发的中的一系统基本操作做一简单的说明。 下图是功能主面板,有三个主要功能:地图漫游、地图制图和创建元素…

Cocos2D中相关问题提问的几个论坛

如果和SpriteBuilder相关可以到: http://forum.spritebuilder.com 提问. 如果是Cocos2D的问题,则可以到以下论坛询问: http://forum.cocos2d-swift.org 你也可以到神人超多的stack overflow去提问: http://stackoverflow.com

T T[] toArray(T[] a);

<T> T[] toArray(T[] a); String[] a list.toArray(new String[list.length()]);转载于:https://www.cnblogs.com/zjlog/p/5582322.html

[Python MoviePy 音视频开发零基础到实战] 一、用6条代码为你的视频裁剪以及添加水印

一、MoviePy 安装及配置 在 Python 有一个音视频开发模块 MoviePy&#xff0c;MoviePy 依赖于 FFmepg&#xff0c;使用 MoviePy 可以对音视频进行编辑&#xff1b;例如视频合成、视频处理、视频特效等。 在 Python 下直接使用 pip 工具进行安装即可&#xff1a; pip install…

C# 使用ILogger接口编写日志

.NET 有几种不同的日志记录和跟踪工具&#xff0c;还有许多不同的第三方日志记录程序。尝试将一个应用程序从一种日志记录技术更改为另一种日志记录技术不是一件容易的事情&#xff0c;因为日志记录 API 的使用分布在整个源代码中。要使日志记录独立于任何日志记录技术&#xf…

html页面调用php常量,js中的常量变量以及html文档三种引入js的方式

js 是基于事件驱动的异步单线程的脚本编程语言&#xff0c;它的全称是 JavaScript&#xff0c;虽然里边有个 java 字样&#xff0c;但是和 java 编程语言一点关系都没有。它是一种脚本语言&#xff0c;基于解释器执行&#xff0c;它是边解释便执行的语言。浏览器控制台 Console…