Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用HTTPPOST将两个参数传递给RESTfulWeb服务?UnrecognizedPropertyException:无法识别的字段,未标记为可忽略_Java_Json_Web Services_Rest_Http Post - Fatal编程技术网

Java 如何使用HTTPPOST将两个参数传递给RESTfulWeb服务?UnrecognizedPropertyException:无法识别的字段,未标记为可忽略

Java 如何使用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

我的课程是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> 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”未标记为可忽略