Java 如何使用HTTPPOST将两个参数传递给RESTfulWeb服务?UnrecognizedPropertyException:无法识别的字段,未标记为可忽略
我的课程是pojoJava 如何使用HTTPPOST将两个参数传递给RESTfulWeb服务?UnrecognizedPropertyException:无法识别的字段,未标记为可忽略,java,json,web-services,rest,http-post,Java,Json,Web Services,Rest,Http Post,我的课程是pojo public class Course { private int cid; private String name; private String code; private int credit; //Getters Setters } 服务: @RequestMapping(value="/addcourse" , method=RequestMethod.POST) public @ResponseBody Response<Course> addCo
public class Course {
private int cid;
private String name;
private String code;
private int credit;
//Getters Setters
}
服务:
@RequestMapping(value="/addcourse" , method=RequestMethod.POST)
public @ResponseBody Response<Course> addCoursetoUser(@RequestBody Course course, @RequestBody User user) throws SQLException{
if(new CourseDAO().addCoursetoUser(course, user))
return new Response<>(...);
else
return new Response<>(...);
}
}
我已经尝试了很多JSON,但我总是遇到这个错误。
提前谢谢..你不能。您需要将两个对象包装成一个对象(可能是
CourseUser
或CourseUserRequest
)
该错误还意味着您的
课程
类缺少Java模型中的cid
字段。您不能。您需要将两个对象包装成一个对象(可能是CourseUser
或CourseUserRequest
)
该错误还意味着您的
课程
类缺少Java模型中的cid
字段。首先您需要为您在pojo中声明的所有类成员编写getter和setter方法:
例如:
秒
你不能在你的帖子中有两个请求主体参数,或者你需要定义一个Parnat pojo,它有如下的课程和用户pojo
public class MyClass{
private Course course ;
private User user ;
// getter setter for User and Course
}
当然,如果您这样使用,您的json将发生更改:
{
"course.id" :3,
"course.name" : "Algorithms",
"course.code" : "COM367",
"course.credit" : 3,
"course.cid" : 28,
"user.username" : "selin",
"user.password" : "ssgg"
}
首先您需要为您在pojo中声明的所有类成员编写getter和setter方法: 例如: 秒 你不能在你的帖子中有两个请求主体参数,或者你需要定义一个Parnat pojo,它有如下的课程和用户pojo
public class MyClass{
private Course course ;
private User user ;
// getter setter for User and Course
}
当然,如果您这样使用,您的json将发生更改:
{
"course.id" :3,
"course.name" : "Algorithms",
"course.code" : "COM367",
"course.credit" : 3,
"course.cid" : 28,
"user.username" : "selin",
"user.password" : "ssgg"
}
当我定义一个新类时,它的Course和User pojo是这样的:public class CourseUser{private User;private Course Course;//Getters Setters}我更改了我的post方法:@RequestMapping(value=“/addcourse”,method=RequestMethod.post)public@ResponseBody Response addCoursetoUser(@RequestBody-CourseUser-CourseUser)抛出SQLException{..},我更改了我的json,比如{“course.id”:3,“course.name”:“Algorithms”,..},但我仍然得到了相同的错误:当我定义一个新类时,未将未识别字段“course.id”标记为Ignorables,该类包含如下所示的课程和用户pojo:public class-CourseUser{private User User;private Course Course;//Getters Setters}我更改了我的post方法:@RequestMapping(value=“/addcourse”,method=RequestMethod.post)public@ResponseBody Response addCoursetoUser(@RequestBody CourseUser CourseUser)抛出SQLException{..},我更改了类似于{“Course.id”的json:3,“course.name”:“Algorithms”,…}但我仍然得到相同的错误:未识别的字段“course.id”未标记为可忽略