请求参数:
{
"username": "aaa",
"password": "bbb",
"detail": {
"gender": "ccc",
"location": "ddd"
}
}
我想使用以下方法在Spring MVC中获取请求参数:
@RequestMapping(value = "/test")
public String test(User user) {
return user.toString();
}
User
类定义如下:
@ToString
@NoArgsConstructor
@Data
public class User {
private String username;
private String password;
private Detail detail;
@Data
@NoArgsConstructor
public class Detail {
private String gender;
private String location;
}
}
发送请求时,我收到错误信息:
bean类[com.example.demo.param.User]的无效属性“detail[gender]:非法获取属性“detail”引发异常;嵌套的异常是org。springframework。豆。NullValueInTestedPathException:bean类[com.example.demo.param.User]的属性“detail”无效:无法实例化属性类型[com.example.demo.param.User$detail]以自动增长嵌套属性路径;嵌套的异常是java。lang.NoSuchMethodException:com。实例演示。帕拉姆。用户$Detail。()
请求数据可以在Chrome开发工具中看到:
username: aaa
password: bbb
detail[gender]: ccc
detail[location]: ddd
似乎细节[性别]和细节[位置]不能被识别为细节的子属性
当我使用annotation@RequestBody接收内容类型为application/json的请求时,它工作得很好。
但是,在上述情况下,如何将请求参数作为用户对象获取?
与您的对象结构的请求将在这两种情况下工作(选项1更好):
备选案文1:
username: aaa
password: bbb
detail.gender: ccc
detail.location: ddd
>
该请求必须传递如下与细节对象的工作:(注意对象的变量访问为detail.gender
而不是细节[性别])
备选案文2:
这是我第一次决定用完整的Java代码配置编写基于Spring Boot和Spring Security性的应用程序,我遇到了无法超越的奇怪问题。我正在尝试用Postman测试API,我的请求只有在使用内容类型为application/x-www-form-urlencoded时才被接受。下面我粘贴我的所有当前配置。 如果我想登录,我只能使用提到的内容类型。对于应用程序/json,我得到403响应状
我正在尝试为我的网站创建一个简单的登录功能。我使用JAVA作为后端,并尝试使用restservices。我的学校给了我一个带有身份验证的登录系统的例子。不幸的是,我遇到了这个错误:java。lang.IllegalStateException:当请求实体的内容类型不是application/x-www-form-urlencoded]时,使用@FormParam。
我已经通过邮递员发送了标题Content-Type=Application/x-www-form-urlencoded的POST请求。 我得到了PHP中的数组,格式如下。我无法在PHP页面中访问。我该如何解决这个问题? 结果是
当内容类型为application/x-www-form-urlencoded;charset=UTF-8并且请求正文为text或application/json时,如何在控制器中进行post映射。我读到@RequestBody不能与UrlenCoded一起工作。如何重新发行这个问题。
我有一个api要求在标题中发送以下参数- 内容类型-应用程序/x-www. form-urlencoded AuthKey-(会话令牌) 以及正文中的以下参数(表单日,即键值对) storeId-1 类型-产品 类别ID-324 但是每当我点击这个api,我总是得到401(未授权)错误。我已经尝试使用MultipartRequest正文和formBody,我知道这与正文无关(它的头,我需要发送内容
我正在使用OpenAPI生成器生成Spring REST API。下面是一个片段: 它生成一个Spring REST API方法(只是一个有趣的方法): 然后,我想使用从集成测试中调用它: 我得到一个错误: 我对服务器端进行了一点调试,看起来它需要一个多部分的内容,但我不明白为什么。 内容类型为application/x-www-form-urlencoded的Http Post请求在Spring