inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 개념과 활용

스프링 웹 MVC 10부: Spring HATEOAS

HateOas 가 업데이트가 되어서, "Spring HATEOAS" 코드를 아래처럼 하셔야 될겁니다.

364

devocean

작성한 질문수 3

0

package hello.hateoas;

import org.springframework.hateoas.RepresentationModel;

public class Hello extends RepresentationModel<Hello> {
    private String prefix;
    private String name;

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return prefix + name;
    }
}

 

package hello.hateoas;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn;


@RestController
public class SampleController  {


    @GetMapping("hello")
    public Hello hello() {
        Hello hello = new Hello();
        hello.setPrefix("Hey.");
        hello.setName("keesun");
        hello.add(linkTo(methodOn(SampleController.class).hello()).withSelfRel());


        return hello;
    }
}

 

Test Code 는 동일 합니다.

 

java spring spring-boot

답변 2

0

1004lucifer

이걸보고 따라 했더니 에러가 해결이 되었는데

테스트가 안되서 봤더니

@Test

public void hello() throws Exception {

mockMvc.perform(get("/hello"))

.andDo(print())

.andExpect(status().isOk())

.andExpect(jsonPath("$.links.self").exists());

}

 

$.links.self 부분에

_가 생겨서 $._links.self 이렇게 하니까 테스트가 잘 되네요

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

devocean님의 질문에 대해 답변드리겠습니다. 제공해 주신 코드는 Spring HATEOAS의 사용 예시로 보입니다. 이 코드는 Hello 클래스를 통해 HATEOAS 호환 링크 정보를 담은 REST API를 만드는 방법을 보여줍니다. RepresentationModel을 상속받은 Hello 클래스에서는 리소스 데이터와 링크 정보를 캡슐화하여 관리할 수 있습니다. SampleController에서는 hello 메소드를 통해 Hello 리소스를 생성하고, 해당 리소스의 self 링크를 추가하여 클라이언트에 제공합니다.

최신 버전의 Spring Boot에 포함된 HATEOAS 설정 및 사용법에 대해서는 Spring Boot Reference Documentation의 “8.7. Spring HATEOAS” 섹션을 참고하시면 도움이 될 것입니다. 자동 설정은 @EnableHypermediaSupport를 사용하지 않아도 되며, 대부분의 애플리케이션에 잘 동작합니다. spring.jackson.* 속성이나 Jackson2ObjectMapperBuilder 빈을 통해 ObjectMapper를 커스터마이징할 수 있습니다. 그리고 Spring MVC가 아닌 Spring WebFlux를 사용할 때는 별도로 org.springframework.hateoas:spring-hateoasspring-boot-starter-webflux에 의존성을 추가해야 한다는 점을 기억해주세요.

참고 URL: Spring HATEOAS Documentation

자동설정 만들기 1부의 Holoman 관련 문의 드립니다.

0

84

1

라이브러리 개발 예제 강의를 찾습니다 !!!

0

225

2

강의 진행되로 똑같이 했는데 jquery가 실행되지 않았는데

0

309

1

springSecurit jwt에 대해서 질문드립니다.

0

343

1

섹션2 자동설정 부분 질문있습니다.

0

247

1

mongo shell 명령어 대체 mongo -> mongosh

0

1012

1

데이터베이스 마이그레이션 강의에서 질문 있습니다

0

707

0

자동 설정 만들기 2부에서 질문 있습니다

0

413

1

의존성 관리 응용 부분에서 질문 있습니다

0

321

0

Intellij 에서 빈 주입할때 계속 빨간줄이 뜨는데 어떻게 고쳐야 할까요

0

1183

1

자동설정으로 다른 프로젝트 빈 사용(번외질문)

0

362

0

CREATE TABLE 예제 따라하다가 'expected "identifier"; SQL statement:' 오류나는 경우

2

2210

2

junit5 관련하여 질문드립니다.

0

307

2

맨 처음 프로젝트 생성 후 Run 시 에러

0

535

2

외부 설정과 관련된 질문입니다.

0

254

1

test와 runner account.setEmail에 동일한 값 입력

0

323

1

컨트롤러 view 호출

0

264

1

JVM 과 arguments 는 뭔가요???

0

1166

1

pom 테그 에러

0

355

1

안녕하십니까 기선님!!!!! webclient와 비동기관련 질문요청드립니다

0

1551

1

webEnvironment 내장 톰캣

0

225

1

application.yml 파일 분리

0

387

1

안녕하세요 기선님 서블릿 어플리케이션 구조에 대해 질문드립니다

0

276

1

안녕하세요 질문이 있습니다. :)

1

199

1