>Java >java지도 시간 >SpringBoot http에서 @RestController의 역할은 무엇입니까?

SpringBoot http에서 @RestController의 역할은 무엇입니까?

王林
王林앞으로
2023-05-20 15:31:06858검색

@RestController

@RestController = @Controller + @ResponseBody. 등호 오른쪽에 있는 두 동지는 @RestController의 의미를 이해하기 위해 몇 문장을 간략하게 소개합니다.

@Controller 현재 수정된 클래스를 SpringBoot IOC 컨테이너. 해당 클래스가 위치한 프로젝트가 실행될 때 이 클래스가 인스턴스화됩니다. 물론 의미론적 효과도 있습니다. 이는 이 클래스가 Controller

@ResponseBody 역할을 한다는 것을 의미합니다. 간단히 말해서 해당 함수는 해당 메서드가 Map 또는 다른 메서드를 반환하는지 여부에 관계없이 이 클래스의 모든 API 인터페이스에서 반환된 데이터를 참조합니다. Object인 경우 Json 문자열 형식으로 클라이언트에 반환됩니다. 반환된 유형이 String이면 여전히 String입니다.

@RestController@RequestMapping("test")public class SampleController {

@GetMapping public Map testGet() {

return new HashMap(){{

put("name", "springboot" );

}};

}

@GetMapping(path = "str")

public String testGetStr() { return "OK"; }}

코드의 이 부분은 Map String에 대한 JSON 문자열을 반환합니다. 여전히 String입니다

@RestController를 @Controller로 바꾼 후 /test의 반환 값은 다음과 같습니다.

오류 보고서에서 볼 수 있듯이 @Controller가 수정되면 Spring은 View(즉, , MVC C)가 중간에 있지만 반환되는 것은 Map입니다.

위 내용은 SpringBoot http에서 @RestController의 역할은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제