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);
}