我正在尝试发布来自邮递员的 POST 请求,但正文中的 json 未转换为控制器中的 java 对象。
@RequestMapping(method = RequestMethod.POST , value="/register")
public void saveUser(@RequestBody User user){
//user object getting created with all variables null
manageUserService.saveUser(user);
}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.naga</groupId>
<artifactId>MicroServices</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>MicroServices Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.7</version>
</dependency>
</dependencies>
<build>
<finalName>MicroServices</finalName>
</build>
</project>
在我看到的日志中
Hibernate:插入到用户(zip,address1,address2,address3,城市,电子邮件,first_name,last_name,密码,状态,user_name)值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
不知道是控制器中缺少了什么,还是我的pomPostman请求中的东西是这样发送的
用户对象:
package com.naga.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long userId;
private String firstName;
private String lastName;
private String email;
private String address1;
private String address2;
private String address3;
private String city;
private String state;
private String Zip;
private String userName;
private String password;
public final Long getUserId() {
return userId;
}
public final void setUserId(Long userId) {
this.userId = userId;
}
public final String getFirstName() {
return firstName;
}
public final void setFirstName(String firstName) {
this.firstName = firstName;
}
public final String getLastName() {
return lastName;
}
public final void setLastName(String lastName) {
this.lastName = lastName;
}
public final String getEmail() {
return email;
}
public final void setEmail(String email) {
this.email = email;
}
public final String getAddress1() {
return address1;
}
public final void setAddress1(String address1) {
this.address1 = address1;
}
public final String getAddress2() {
return address2;
}
public final void setAddress2(String address2) {
this.address2 = address2;
}
public final String getAddress3() {
return address3;
}
public final void setAddress3(String address3) {
this.address3 = address3;
}
public final String getCity() {
return city;
}
public final void setCity(String city) {
this.city = city;
}
public final String getState() {
return state;
}
public final void setState(String state) {
this.state = state;
}
public final String getZip() {
return Zip;
}
public final void setZip(String zip) {
Zip = zip;
}
public final String getUserName() {
return userName;
}
public final void setUserName(String userName) {
this.userName = userName;
}
public final String getPassword() {
return password;
}
public final void setPassword(String password) {
this.password = password;
}
}
在数据库中,用户对象是持久化的:数据库中的用户对象持久化,但字段中没有任何内容
我相信你在你的实体中丢失了一些东西
@Table
@Entity(name= "User")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long userId;
@Column(name="first_name")
private String firstName;
.....
}
这应该对你有所帮助。
我可以让这段代码在没有对象作为抽象方法输入参数的情况下工作。例如,如果我亲自将方法的输入参数设置为,emp就会起作用。 当我将输入参数作为方法的对象时,它抛出了一个错误 emp不是抽象的,并且不会覆盖person类emp extends person{^
问题内容: 如何从排球plz帮助发布此请求 js引用了我的jsson对象……我使我的jsson像这样..... 但是它没有响应值请怎么做 问题答案: 首先你的json数据: 然后您的json请求: 注意 标题 如果您想在localhost中进行测试,请使用以下代码并设置您的url以连接您的localhost服务器和ip地址:下面的代码将您的所有请求都放在一个文本文件中,我尝试了一下,即可
问题内容: 我正在使用Jersey开发RESTful服务,并且与GET方法配合使用效果很好。但是我不能使其与POST方法和JSON或文本参数一起使用。这些是我所做的: 我只为所有参数获取空值。我试图只使用一个字符串作为参数,但是它也不起作用……我试图从IOS访问这些方法,也许这就是问题之一。但是我一直在嗅探我的局域网,并且可以在数据包主体中看到正确的参数……这正确吗? 我已经从XCode发送了如下
问题内容: 我有一个像这样的功能: 在功能结束时, elemR 被更改,但是从main方法调用函数后,参数 elemR 仍具有与函数调用之前相同的值。有什么问题?如何在调用函数后更改此ListElement并“保存”此更改,而无需将返回类型更改为ListElement(我也需要整数返回值)? 问题答案: Java函数参数通过引用名称进行调用,这意味着当您将一个对象作为函数参数放置时,JVM将引用的
我有一个用Swagger描述的POSTendpoint,我希望这个endpoint也有查询参数。我们使用1.2 swagger格式是因为传统原因。我们使用3scale,它托管文档,您可以在他们的web UI中编辑您的swagger。然而,当我试图保存文档时,它给我以下错误。 < code>JSON规范不能在同一方法上有paramType='body '和param type = ' query '
当使用EasyMock为void方法设置期望值时,是否可以指定一个对象数组作为该方法的参数之一? 例如,如果我们有这样的内容: 我认为这是因为它在一个Object[]上依赖equals方法,由于两者不同,它返回false并且不满足条件。 有办法绕过它吗?因为我没有使用expect()设置expect,所以我可以使用任何()...有没有一种方法可以在void方法上做同样的事情?