>Java >java지도 시간 >SpringBoot는 Get 요청에 의해 전달된 여러 매개변수를 수신하기 위해 어떻게 엔터티를 사용합니까?

SpringBoot는 Get 요청에 의해 전달된 여러 매개변수를 수신하기 위해 어떻게 엔터티를 사용합니까?

WBOY
WBOY앞으로
2023-05-19 18:01:063279검색

1. 컨트롤러 레이어는 주석 없이 매개변수를 받습니다.

첫 번째 방법이 가장 간단합니다. 이전에는 왜 사용되지 않았는지 궁금합니다. . 하지만 이번에는 정말 효과가 있었습니다. 가장 간단한 방법은 주석을 추가하지 않고 컨트롤러 인터페이스를 추가하는 것입니다. ! ! SpringBoot는 이를 자동으로 처리합니다. 코드는 다음과 같습니다.

/**
 * @author zhangzhixiang
 * @since v1.0.0
 */
@RestController
@RequestMapping(path = "/ui/institution")
public class InstitutionManagementController {
 
    @GetMapping(value = "/pageQueryForAssign")
    public void pageQueryInstitutionsForAssign(InstitutionQueryDTO queryDTO) {
 
    }
}

사실 InstitutionQueryDTO 옆에 주석이 없어서 프런트엔드가 정상적으로 Get 매개변수를 전달할 수 있도록 하는 것이 포인트입니다. 프런트엔드 매개변수 전달 형식의 예는 다음과 같습니다.

http://192.168.63.125/ui/institution/pageQueryForAssign?name=' xxx'&sex='Male'

여기의 이름과 성별은 InstitutionQueryDTO 엔터티의 속성이며 SpringBoot는 자동으로 이를 엔터티에 채워줍니다. .

2. Controller 레이어는 @ModelAttribute

를 통해 매개변수를 받습니다. 이 작성 방법은 온라인에서 기사를 읽다가 알게 되었습니다.

/**
 * @author zhangzhixiang
 * @since v1.0.0
 */
@RestController
@RequestMapping(path = "/ui/institution")
public class InstitutionManagementController {
 
    @GetMapping(value = "/test")
    public void test(@ModelAttribute InstitutionQueryDTO queryDTO){
 
    }
}

여기서 초점은 프런트 엔드에서 비즈니스 엔터티로 전달된 매개 변수를 채우는 @ModelAttribute 주석입니다. 프런트 엔드 매개 변수 전달 형식은 방법 1과 동일합니다.

1년 전에 첫 번째 방법을 통해 Get 요청의 매개변수를 수락했어야 했지만 실패하여 수신되지 않았습니다. 내 컨트롤러가 동시에 여러 엔터티 입력 매개변수를 받았기 때문일 것입니다. 실패한.

위 내용은 SpringBoot는 Get 요청에 의해 전달된 여러 매개변수를 수신하기 위해 어떻게 엔터티를 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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