URL 다시 쓰기
적용 대상: 모든 API Management 계층
rewrite-uri
정책은 다음 예제와 같이 요청 URL을 공용 양식에서 웹 서비스에 필요한 양식으로 변환합니다.
공용 URL -
http://api.example.com/storenumber/ordernumber
요청 URL -
http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State
이 정책은 사람 및/또는 브라우저에 친숙한 URL을 웹 서비스에 필요한 URL 형식으로 변환해야 하는 경우에 사용할 수 있습니다. 이 정책은 쿼리 문자열을 포함하지 않고 리소스 경로(체계 및 권한 뒤)만 포함하는 전적으로 구조적인 URL인 간편 URL, RESTful URL, 사용자에게 친숙한 URL 또는 SEO 지원 URL과 같은 대체 URL 형식을 표시할 때만 적용해야 합니다. 보통 미학, 사용 편의성 또는 SEO(검색 엔진 최적화)를 위해 사용합니다.
참고 항목
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
정책 문
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
특성
이름 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
템플릿 | 모든 쿼리 문자열 매개 변수가 포함된 실제 웹 서비스 URL입니다. 정책 식이 허용됩니다. 식을 사용하는 경우 전체 값이 식이어야 합니다. | 예 | 해당 없음 |
copy-unmatched-params | 원본 URL 템플릿에 없는 들어오는 요청의 쿼리 매개 변수가 re-write 템플릿에 의해 정의된 URL에 추가되는지 여부를 지정합니다. 정책 식이 허용됩니다. | 아니요 | true |
사용
사용법 참고 사항
정책을 사용하여 쿼리 문자열 매개 변수만 추가할 수 있습니다. 다시 쓰기 URL에 추가 템플릿 경로 매개 변수를 추가할 수 없습니다.
예시
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put?c=d -->
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" copy-unmatched-params="false" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put -->
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- Azure의 Microsoft Copilot을 사용하는 작성자 정책