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

Minahil Noor 2023년10월12일
  1. C#에서 Controller Action을 사용하여 여러 매개 변수를 Get메서드에 전달
  2. ‘속성 라우팅’을 사용하여 여러 매개 변수를 Get메소드에 전달하는 코드 스 니펫
  3. [FromQuery]를 사용하여 여러 매개 변수를Get 메소드로 전달하는 코드 스 니펫
C#은 여러 메소드를 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) {}
}

관련 문장 - Csharp Method