C#은 여러 메소드를 get 메소드에 전달합니다

  1. C#에서 Controller Action을 사용하여 여러 매개 변수를 Get메서드에 전달
  2. ‘속성 라우팅’을 사용하여 여러 매개 변수를 Get메소드에 전달하는 코드 스 니펫
  3. [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)
    {

    }
}