CRUD ReST API를 구현하는 방법을 배우려고합니다. JAX-RS를 사용하여 간단한 애플리케이션을 만들고 Postman을 사용하여 HTTP 메소드를 테스트하고있다. 내 질문은 어떻게 POST 메서드에 대한 모델에 대한 선택적 필드를 정의합니까?ReST 리소스/선택 필드가있는 모델
ex. Person은 firstName, lastName을 필수 필드로, age, gender를 선택적 필드로 포함합니다.
@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 서비스 메소드는 HashMap에 POST하는 데 사용됩니다.
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에서 처리하려는 것은 무엇입니까? –