봄 REST는 : 엔티티에 추가 요청 본문에서 JSON 데이터를 가져 오기

모하마드 아마드 :

나는 스프링 REST를 사용하여 자바 프로젝트에 일하고 있어요.

내가 JSON (이다) 요청 본문에서 데이터를 추출 할 수 없다는 내 문제는 이후 enitiy로받을 수 있습니다.

예를 들어 :

JSON 요청 바디

{
    "firstname": "Rayan",
    "lastname": "Cold",
    "company_id": 23
}

내 컨트롤러 방법은 maaped :

@PostMapping("/employee")
public Employee createEmployee(@RequestBody Employee employee) {

    // Here i need to extract the company id from request body
    // Long companyId = *something* // how i can extract from request ?

    return companiesRepository.findById(companyId).map(company -> {
        employee.setCompany(company);
        return employeeRepository.save(employee);
    }).orElseThrow(() -> new ResourceNotFoundException("Company not found"));
}

난 내가 경로 변수로 회사 ID를 전달할 수 있습니다 알고 있습니다. 하지만 난 요청 본문하지 URI에서의 원하는 않습니다.

감사

Golam Mazid는 sajib :

당신의 직원 클래스는 회사 ID가 포함 된 경우 COMPANY_ID 매핑 할 수 없습니다.

나는 당신의 회사의 클래스와 같은 추측 :

public class Employee {

private String firstname;
private String lastname;
private Long companyId;

//} 게터 세터를 건너

그것을하는 변경 :

public class Employee {

private String firstname;
private String lastname;
@Transient
@JsonProperty("company_id")
private Long companyId;

//} 게터 세터를 건너

추천

출처http://43.154.161.224:23101/article/api/json?id=219399&siteId=1