> 백엔드 개발 > C++ > MVC 웹 API 2 요청 매개변수에서 도트 문자(.)를 처리하는 방법은 무엇입니까?

MVC 웹 API 2 요청 매개변수에서 도트 문자(.)를 처리하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-05 07:27:43
원래의
618명이 탐색했습니다.

How to Handle Dot Characters (.) in MVC Web API 2 Request Parameters?

MVC Web API 2 요청 매개변수에서 점 문자 처리

MVC Web API 2에서는 다음과 같은 요청 매개변수로 작업하는 것이 편리합니다. 일관된 형식을 준수합니다. 그러나 마침표(.)와 같은 특수 문자가 포함된 요청을 처리해야 하는 경우도 있습니다. 이 문서에서는 요청 매개변수에 점 문자를 포함하는 문제를 살펴보고 실용적인 솔루션을 제공합니다.

기본 문제

사용자는 다음 형식의 요청을 허용하려고 했습니다.

http://somedomain.com/api/people/staff.33311
로그인 후 복사

그런데 이 방법을 시도하니 404에러가 발생했습니다. 이는 Web API의 기본 라우팅이 URL 경로의 세그먼트를 컨트롤러 및 작업 이름으로 인식하고 그 뒤에 선택적 매개 변수를 사용하도록 설계되었기 때문에 발생했습니다. 요청 URL의 점 문자는 작업 이름 또는 쿼리 매개변수의 일부로 구문 분석되므로 모호성을 유발합니다.

제안된 솔루션

이 문제를 해결하려면 문제가 발생하면 사용자는 문제의 요청 매개변수가 URL 경로 세그먼트의 일부가 아니므로 컨트롤러나 작업 이름으로 착각할 수 없음을 확인할 수 있습니다. 이를 달성하는 한 가지 방법은 다음과 같이 URL에 후행 슬래시를 추가하는 것입니다.

http://somedomain.com/api/people/staff.33311/
로그인 후 복사

후행 슬래시는 매개변수가 URL 경로의 일부가 아닌 쿼리 문자열로 처리되도록 합니다. 이를 통해 Web API는 요청을 올바르게 구문 분석하고 이를 의도한 작업에 매핑할 수 있습니다.

구현 고려 사항

서버 구성에 따라 웹을 조정해야 할 수도 있습니다. .config를 사용하면 URL 경로에 점을 사용할 수 있습니다. 이는 아래와 같이 httpRuntime 요소의 "allowDotsInPath" 속성을 true로 설정하여 달성할 수 있습니다.

<system.webServer>
  <httpRuntime allowDotsInPath="true" />
</system.webServer>
로그인 후 복사

이 솔루션을 구현하면 사용자는 유지 관리를 유지하면서 매개변수에 점 문자가 포함된 요청을 처리할 수 있습니다. 일관되고 명확한 요청 형식입니다.

위 내용은 MVC 웹 API 2 요청 매개변수에서 도트 문자(.)를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿