• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

23.12.01 14:15 작성 조회수 173

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

구본우님의 프로필

구본우

질문자

2023.12.01

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

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