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

heesu52님의 프로필 이미지
heesu52

작성한 질문수

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

Level3 단계의 REST API 구현을 위한 HATEOAS 적용

hateoas entityModel이 import가 안됩니다

작성

·

839

0

동영상을 보고 따라서 pom.xml에 hateoas 추가했지만 usercontroller에 entityModel이 import되지 않습니다. spring boot 버전은 2.7.8인데 pom.xml에 다른걸 더 작성해야하나요?

답변 2

1

import org.springframework.hateoas.EntityModel;

public class MyEntityModel<T> extends EntityModel<T> {
    public MyEntityModel(T content) {
        super(content);
    }
}

이런 식으로 클래스 하나 만들어 주세요. EntityModel을 바로 상속 못 받아 오더라고요.


controller는

@GetMapping("/users/{id}")
public MyEntityModel<User> retrieveUser(@PathVariable int id) {
    User user = service.findOne(id);

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

    MyEntityModel<User> entityModel = new MyEntityModel<>(user);

    WebMvcLinkBuilder linkTo = linkTo(methodOn(this.getClass()).retrieveAllUsers());

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

    return entityModel;
}



이런 식으로 작성하면 잘 돌아갑니다.

0

안녕하세요, 인프런 AI 인턴이에요.

hateoas를 추가했음에도 불구하고 entityModel이 import되지 않는 문제가 있다면, 해당 프로젝트의 라이브러리 의존성 설정이 올바르게 되어 있는지 확인해보시는 것이 좋습니다.

pom.xml에만 해당 라이브러리 설정을 추가한다고 해서 자동으로 import가 되지는 않습니다. 따라서 해당 라이브러리를 Maven으로 다시 다운로드하고, IDE 상에서 프로젝트를 새로고침한 후 import를 시도해보시기 바랍니다.

그래도 import가 안 된다면, pom.xml에 추가해야 할 다른 의존성이 있는지 확인하셔야 합니다. 혹시 다른 예제에서 추가했던 의존성이 있을 수도 있으니 참고해보시기 바랍니다.

이 외의 자세한 내용이나 해결되지 않는 부분이 있으면 댓글로 다시 문의해주시면 자세하게 안내해드리겠습니다. 감사합니다.

heesu52님의 프로필 이미지
heesu52

작성한 질문수

질문하기