C#은 여러 메소드를 get 메소드에 전달합니다
Minahil Noor
2023년10월12일
-
C#에서
Controller Action
을 사용하여 여러 매개 변수를Get
메서드에 전달 -
‘속성 라우팅’을 사용하여 여러 매개 변수를
Get
메소드에 전달하는 코드 스 니펫 -
[FromQuery]
를 사용하여 여러 매개 변수를Get
메소드로 전달하는 코드 스 니펫
ASP.NET MVC
는 웹 애플리케이션 개발에 사용됩니다. MVC Web API
및웹 페이지
프레임 워크가 이제 MVC 6
이라는 하나의 프레임 워크로 병합되었습니다. MVC
는 라우팅 된 요청을 통해 모델, 뷰 및 컨트롤러와 상호 작용할 수있는 패턴입니다.
이 기사에서는 MVC 컨트롤러의 Get 메소드에 여러 매개 변수를 전달하는 데 사용되는 다양한 메소드에 대해 논의하고있다.
C#에서 Controller Action
을 사용하여 여러 매개 변수를 Get
메서드에 전달
‘컨트롤러 작업’은 들어오는 요청을 처리하는 데 사용되는 방법입니다. 그리고 동작 결과를 반환합니다. ‘조치 결과’는 들어오는 요청에 대한 응답입니다. 이 경우 제어기 조치를 사용하여 여러 매개 변수를Get
메소드에 전달했습니다.
예제 코드:
public string Get(int? id, string FirstName, string LastName, string Address) {
if (id.HasValue)
GetById(id);
else if (string.IsNullOrEmpty(Address))
GetByName(FirstName, LastName);
else
GetByNameAddress(FirstName, LastName, Address);
}
‘속성 라우팅’을 사용하여 여러 매개 변수를 Get
메소드에 전달하는 코드 스 니펫
속성 라우팅에서는 속성을 사용하여 라우팅을 정의합니다. 오류 가능성을 줄이므로 권장되는 방법입니다. 그것은 당신이 당신의웹 API
에서URL
에 대한 더 많은 제어를 제공합니다.
이 방법을 사용하는 올바른 구문은 다음과 같습니다.
// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
return $"{parameterOne}:{parameterTwo}";
}
}
예제 코드:
// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
return $"{FirstName}:{LastName}:{Address}";
}
[FromQuery]
를 사용하여 여러 매개 변수를Get
메소드로 전달하는 코드 스 니펫
[FromQuery]
는 요청 쿼리string
과 매개 변수를 바인딩하도록 지정하는 데 사용됩니다. FromFromAttribute
클래스의 속성이다.
이 속성을 사용하는 올바른 구문은 다음과 같습니다.
[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}
예제 코드:
[Route("api/person")]
public class PersonController : Controller {
[HttpGet]
// Passing one parameter to the Get method
public string GetById([FromQuery] int id) {}
[HttpGet]
// Passing two parameters to the Get method
public string GetByName([FromQuery] string firstName, [FromQuery] string lastName) {}
[HttpGet]
// Passing multiple parameters to the Get method
public string GetByNameAndAddress([FromQuery] string firstName, [FromQuery] string lastName,
[FromQuery] string address) {}
}