더북(TheBook)

RepresentationModel<License>License 모델 클래스에 링크를 추가할 수 있게 한다. 이제 모든 설정이 완료되었으므로 LicenseController 클래스에 대한 링크를 조회하기 위해 HATEOAS 구성 정보를 생성해 보자. 다음 코드에서 어떻게 수행되는지 볼 수 있다. 이 예제 코드에서는 LicenseController 클래스의 getLicense() 메서드만 변경한다.

코드 3-11 LicenseController에 링크 추가하기

@RequestMapping(value="/{licenseId}", method=RequestMethod.GET)
public ResponseEntity<License> getLicense(
            @PathVariable("organizationId") String organizationId,
            @PathVariable("licenseId") String licenseId) {
        
    License license = licenseService.getLicense(licenseId, organizationId);
    license.add(linkTo(methodOn(LicenseController.class)
        .getLicense(organizationId, license.getLicenseId()))
        .withSelfRel(),
        linkTo(methodOn(LicenseController.class)
        .createLicense(organizationId, license, null))
        .withRel("createLicense"),
        linkTo(methodOn(LicenseController.class)
        .updateLicense(organizationId, license))
        .withRel("updateLicense"),
        linkTo(methodOn(LicenseController.class)
        .deleteLicense(organizationId, license.getLicenseId()))
        .withRel("deleteLicense"));
        
     return ResponseEntity.ok(license);
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.