GET 요청에서 Query 매개 변수에 대한 지원을 엔드 포인트
/resources
에 추가하는 방법을 알고 있습니다
예를 들어. 다음과 같습니다.
[HttpGet]
public async Task<IHttpActionResult> GetAll([FromUri] QueryData queryData) {
//... Do some stuff
}
내 예에서는
QueryData
지원되는 모든 검색어 매개 변수가 포함 된 클래스입니다.
public class QueryParam {
public int Page { get; set; }
public int Size { get; set; }
}
그래서 엔드 포인트를 호출 할 수 있습니다 :
/resources?page=2&size=4
매개 변수를 성공적으로 검색하십시오.
/resources/2
URL의 세그먼트이며
2
를 지정합니다.
자원의.
현재이 방법을 다음과 같이 처리하고 있습니다 :
id
이것은 잘 작동하지만 다음과 같이 수정하려고했습니다 :
[HttpGet]
public async Task<IHttpActionResult> Get(int id) {
//Do some stuff...
}
다른 방법에서와 같이 작동하길 바랍니다. 그러나 그렇지 않습니다. 아마도
[HttpGet]
public async Task<IHttpActionResult> Get(int id, [FromUri] QueryData queryData) {
//Do some stuff...
}
때문에
검색어 매개 변수로 검색하지 않고 URL 경로의 일부입니다.
이러한 URL에 쿼리 매개 변수를 추가하고
id
를 모두 검색 할 수 있습니까
그리고 그 매개 변수?
엔드 포인트를 호출 할 수 있기를 기대합니다 :
id
/resources/2?lang=en
- 답변 # 1
- 답변 # 2
웹 코드 2.2를 다음 코드로 라우트 값과 쿼리 문자열 값을 올바르게 구문 분석 할 수있었습니다 :
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using System.Web.Http; using WebAPITest.Models; namespace WebAPITest.Controllers { public class ValuesController : ApiController { // GET api/values/5 public async Task<IHttpActionResult> Get(int id, [FromUri] QueryParam queryData) { return Ok("value"); } } }
모델 :
using System; namespace WebAPITest.Models { public class QueryParam { public int Page { get; set; } public int Size { get; set; } } }
IHttpActionResult
를 사용하도록 기본ValuesController를 조정했습니다. 문자열 대신. 라우트를 구별하려면 속성 라우트를 추가하고 각 조치를 각각의 HTTP 메소드로 장식 할 수 있습니다. 컨트롤러 작업 내에서 경로를 직접 수정하거나 추가 매개 변수 파싱을 수행 할 필요가 없습니다.
관련 자료
- CDK Python을 사용하여 Api Gateway 용 httpintegration에 요청 매개 변수를 전달하는 방법
- api - URL 쿼리 매개 변수
- mysql - 쿼리의 매개 변수로 문자열을 전달하는 방법
- postgresql - 함수 - text/varchar 매개 변수를 쿼리로 사용
- Spring REST - 스프링 rest - get 요청 쿼리에서 객체 역 직렬화
- java - 개조 요청시 인터페이스에서 매개 변수를 설정하는 방법
- java - 스프링 부트의 함수 매개 변수에서 @Query 값 연결
- asp.net mvc - 아약스 요청으로 보내지 않는 매개 변수
- javascript - JSON 요청`ak` 매개 변수 값 스크랩
- c# - WebAPI 라우팅을 사용하는 쿼리 문자열 매개 변수
- python - data 매개 변수에 앰퍼샌드가 포함 된 경우 HTTP POST 요청을 수행하는 방법은 무엇입니까?
- spring - JPQL LEFT JOIN 쿼리에서 예외가 발생하는 명명 된 쿼리 매개 변수
- regex - htaccess로 쿼리 매개 변수 삽입 또는 업데이트
- angular6 - 암호화 된 토큰이있는 쿼리 매개 변수 각도 10
- javascript - 현재 기존 검색어 매개 변수에 검색어 매개 변수를 추가하는 링크
- javascript - 하나의 요소가있는 배열을 GET 요청의 매개 변수로 전달하는 방법
- .net - 서버에 요청시 매개 변수 값을 전달하는 방법
- sql - 매개 변수 저장 프로 시저가있는 조건부 쿼리
- 각도로 요청 받기에서 쿼리 매개 변수에 이메일을 전달하는 방법
- Kusto 쿼리 테이블의 각 행을 매개 변수로 반복하여 다른 테이블에서 쿼리하는 방법
- c#에서 URL 분할?
- c# 항목이 없으면 foreach 루프 건너 뛰기
- c# : Html을 일반 텍스트로 어떻게 변환합니까?
- c# : Google API v3 asp.net 웹 양식을 사용하여 파일 업로드
- c# : ASP.net 응용 프로그램의 Security.System.Exception
- javascript : ASP.net 텍스트 상자에서 위쪽 및 아래쪽 화살표 키를 사용할 수 있습니까?
- c# : 게시 후 로그인을 묻는 Google 드라이브 v2
- c# : 입력 문자열은 올바른 형식이 아닙니다.
- 월과 연도를 제공하는 첫 번째 주 번호를 얻는 방법 c#
- c# : 열의 IDENTITY 속성을 변경합니다. 열을 삭제하고 다시 만들어야합니다.
원하는 것을 달성하는 한 가지 방법은
id
를 읽는 것입니다 다음과 같이 수동으로 :또는
MVC가 모호함에 대해 소리 치면 다음과 같은 경로 제약 조건을 추가하십시오.
다른 방법은 ID를 QueryData 속성으로 추가하는 것입니다. 그것을 채울 수 있습니다!