我正试图学习如何实现一个CRUD ReST API。我使用JAX-RS创建了一个简单的应用程序,并使用Postman测试了我的HTTP方法。我的问题是,如何为POST方法定义模型的可选字段?ReST resource/model with optional fields
ex。 Person包含名字,姓氏作为必填字段,年龄,性别作为可选字段。
@XmlRootElement
public class Person {
private long id;
private String firstName;
private String lastName;
public Person() {}
public Person(long id, String firstName, String lastName) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
}
//getter and setters omitted
上面是另一个资源的子资源,下面的addPerson服务方法用于POST到HashMap。
public Person addPerson(long userId, Person person) {
Map<Long, Person> persons = users.get(userId).getPersons();
person.setId(persons.size() + 1);
persons.put(person.getId(), person);
return person;
}
我想建造其构造函数有参数的多种不同组合来实例化一个模型类的模型,但是这似乎并不十分有效。有人可以建议吗?
进一步编辑:这需要在处理JSON时完成。给定两个JSON格式的请求:
{
"firstName": "Jay",
"lastName": "Kay",
"age": "13"
}
和
{
"firstName": "Jay",
"lastName": "Kay"
}
都应该是因为年龄加工(以及性别)是一个“可选属性”,因此它可以被任一省略,或者有一个值。我遇到了JSON解析器并试图通读它们,因为这可能是处理这种请求的答案。
你能提供你的模型和资源类? –
@JoPeyper我已添加编辑以显示一些示例。让我知道如果以上是有道理的?谢谢! – viviboox3
最后一行对我来说还不清楚。您究竟想从JSON处理什么? –