인프런 커뮤니티 질문&답변

구본우님의 프로필 이미지
구본우

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

HATEOAS 3단계 적용 질문입니다 !

작성

·

273

0

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>

hateoas 3.2.png

섹션 4 Level3 단계의 REST API 구현을 위한 HATEOAS 적용에서 오류가 발생했습니다.
retrieveAllUsers

@GetMapping("/users")
public List<User> retrieveAllUsers() {
    return service.findAll();
}


전체 조회 메서드는 잘 작동이 되는데

retrieveUser

@GetMapping("/users/{id}")
public EntityModel<User> retrieveUser(@PathVariable int id) {

    User user = service.findOne(id);

    if (user == null){
        throw new UserNotFoundException(String.format("ID[%s] not found", id));
    }

    EntityModel<User> entityModel = EntityModel.of(user);
    
    WebMvcLinkBuilder linkTo = linkTo(methodOn(this.getClass()).retrieveAllUsers());

    entityModel.add(linkTo.withRel("all-users"));

    return entityModel;

}

검색.png

ㅠ.png
이런 오류가 발생했습니다.

어떻게 해결해야 할까요?

답변 1

0

구본우님의 프로필 이미지
구본우
질문자

WebMvcLinkBuilder linkTo = linkTo(UserController.class).slash("users");

우선 이렇게 바꾸니까 작동했습니다.

구본우님의 프로필 이미지
구본우

작성한 질문수

질문하기