我试图在春天创建一个Web服务&想要以json格式将输入传递给休息控制器,对于那些输入,我创建了一个带有输入字段和模型的模型类。传递给方法,如
@RequestMapping(value = "/create", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public Object addEmployee(@RequestBody UserInputModel userInputModel,
HttpServletResponse response) {
Object result;
try {
result = dataServices.addEntity(userInputModel);
return result;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
这里我使用rest clients& amp;传递输入参数。获取所有值" null",任何人都可以告诉我如何通过rest clients将userInputModel类传递给方法
输入值我使用rest客户端作为
提交{
"user_id": "",
"user_email_id": "anup@mahjkhjilinator.com",
"user_password": "jhdgfjhgdsjfg",
"firstname": "Anup",
"lastname": "Deshpande",
"mobile_number": "hkhjk",
"user_status": "0",
"isdeleted": "0",
"created_user_id": "1",
"profile_picturename": "anup.jpeg",
"address": "kjhfgkjdfhgfdhk"
}
UserInputModel类为:
@Entity
@Table(name = "users")
public class UserInputModel {
// private final String modelName = "user";
@Id
@GeneratedValue
@Column(name = "user_id")
private Integer user_id;
@Column(name = "user_email_id")
@NotNull
@Email
private String user_email_id;
@Column(name = "user_password")
private String user_password;
@Column(name = "firstname")
private String firstname;
@Column(name = "lastname")
private String lastname;
@NotNull
// @Phone
@Size(min = 10, max = 12)
@Column(name = "mobile_number")
private String mobile_number;
@Column(name = "user_status")
private Integer user_status;
@Column(name = "isdeleted")
private Integer isdeleted;
@Column(name = "created_by")
private Integer created_by;
@Column(name = "profile_picturename")
private String profile_picturename;
@Column(name = "address")
private String address;
public UserInputModel() {
super();
// TODO Auto-generated constructor stub
}
public UserInputModel(Integer user_id, String user_email_id,
String user_password, String firstname, String lastname,
String mobile_number, Integer user_status, Integer isdeleted,
Integer created_by, String profile_picturename, String address) {
super();
this.user_id = user_id;
this.user_email_id = user_email_id;
this.user_password = user_password;
this.firstname = firstname;
this.lastname = lastname;
this.mobile_number = mobile_number;
this.user_status = user_status;
this.isdeleted = isdeleted;
this.created_by = created_by;
this.profile_picturename = profile_picturename;
this.address = address;
}
public Integer getUser_id() {
return user_id;
}
public void setUser_id(Integer user_id) {
this.user_id = user_id;
}
public String getUser_email_id() {
return user_email_id;
}
public void setUser_email_id(String user_email_id) {
this.user_email_id = user_email_id;
}
public String getUser_password() {
return user_password;
}
public void setUser_password(String user_password) {
this.user_password = user_password;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getMobile_number() {
return mobile_number;
}
public void setMobile_number(String mobile_number) {
this.mobile_number = mobile_number;
}
public Integer getUser_status() {
return user_status;
}
public void setUser_status(Integer user_status) {
this.user_status = user_status;
}
public Integer getIsdeleted() {
return isdeleted;
}
public void setIsdeleted(Integer isdeleted) {
this.isdeleted = isdeleted;
}
public Integer getCreated_by() {
return created_by;
}
public void setCreated_by(Integer created_by) {
this.created_by = created_by;
}
public String getProfile_picturename() {
return profile_picturename;
}
public void setProfile_picturename(String profile_picturename) {
this.profile_picturename = profile_picturename;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
addEntity方法代码:
@Override
public User addEntity(UserInputModel userInputModel) throws Exception {
User user = new User();
DateTimeUtil dateTimeUtil = new DateTimeUtil();
Connection con = null;
CallableStatement callableStatement = null;
ResultSet resultSet = null;
try {
con = new MySqlConnection().getConnection();
callableStatement = con
.prepareCall("{ call sp_user_upsert(?,?,?,?,?,?,?,?,?,?) } ");
callableStatement.setInt("pv_user_id", userInputModel.getUser_id());
callableStatement.setString("pv_user_email_id ",
userInputModel.getUser_email_id());
callableStatement.setString("pv_user_password",
userInputModel.getUser_password());
callableStatement.setString("pv_firstname", userInputModel.getFirstname());
callableStatement.setString("pv_lastname", userInputModel.getLastname());
callableStatement.setString("pv_mobile_number",
userInputModel.getMobile_number());
callableStatement.setInt("pv_user_status", userInputModel.getUser_status());
callableStatement.setInt("pv_isdeleted", userInputModel.getIsdeleted());
callableStatement
.setInt("pv_created_user_id", userInputModel.getCreated_by());
callableStatement.setString("pv_profile_picturename",
userInputModel.getProfile_picturename());
callableStatement.setString("pv_address", userInputModel.getAddress());
resultSet = callableStatement.executeQuery();
while (resultSet.next()) {
user.setUser_id(resultSet.getInt("user_id"));
user.setUser_email_id(resultSet.getString("user_email_id"));
user.setUser_password(resultSet.getString("user_password"));
user.setFirstname(resultSet.getString("firstname"));
user.setLastname(resultSet.getString("lastname"));
user.setRole_id(resultSet.getInt("role_id"));
user.setMobile_number(resultSet.getString("mobile_number"));
user.setUser_status(resultSet.getInt("user_status"));
user.setCreated_by(resultSet.getInt("created_by"));
user.setCreated_date(resultSet.getString("created_date"));
user.setModified_by(resultSet.getInt("modified_by"));
user.setModified_date(resultSet.getString("modified_date"));
user.setIsdeleted(resultSet.getInt("isdeleted"));
user.setOldpassword(resultSet.getString("oldpassword"));
user.setProfile_picturename(resultSet
.getString("profile_picturename"));
user.setAddress(resultSet.getString("address"));
// user.setUser_id(resultSet.getInt("user_id"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null)
resultSet.close();
if (callableStatement != null)
callableStatement.close();
if (con != null)
con.close();
}
return user;
}
提前致谢
答案 0 :(得分:2)
@RequestMapping(value = "/create", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public Response addEmployee(@RequestBody UserInputModel userInputModel,
JSONObject json) {
Response result;
try {
String pv_user_email_id = "";
if(json.has("pv_user_email_id")){
pv_user_email_id = json.getString("pv_user_email_id");
}
Integer id =0;
if(json.has("id")){
id = json.getInt("id");
}
userInputModel.setUser_email_id(pv_user_email_id);
userInputModel.setId(id);
result = dataServices.addEntity(userInputModel);
return result;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
要给出的JSON输入:
{
"pv_user_email_id":"user@gmail.com",
"pv_user_password":"1234"
"id":2
}
请参考上面的代码并相应地进行更改。我给出了一个参数的示例,对模型类中使用的所有参数都遵循相同的参数。