我正試圖學習如何實現一個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處理什麼? –