簡體   English   中英

tuckey urlrewrite返回404找不到

[英]tuckey urlrewrite returns 404 not found

我正在使用Jersey框架,端點是/v1/users/{user_id: \\p{XDigit}{8}}/orders/{order_id: \\p{XDigit}{8}}

我需要將URL /v2/users/{user_id: \\p{XDigit}{8}}/orders/{order_id: \\p{XDigit}{8}}為上述URL。

我正在使用tuckey進行URL重寫。 以下是我的urlrewrite.xml。

<rule>
    <from>^/v2/users/([A-Fa-f0-9]{8})$/orders/([A-Fa-f0-9]{8})$</from>
    <to>/v1/users/$1/orders/$2</to>
</rule>

通過發送請求curl 'localhost:8080/v1/users/11111111/orders/11111111' ,我到達了正確的端點,但是當我嘗試curl 'localhost:8080/v2/users/11111111/orders/11111111' ,我得到404 NOT FOUND的響應。

當我將urlrewrite.xml更改為以下內容時

<rule>
    <from>^/v2/users/([A-Fa-f0-9]{8})/orders/([A-Fa-f0-9]{8})</from>
    <to>/v1/users/([A-Fa-f0-9]{8})/orders/([A-Fa-f0-9]{8})</to>
</rule>

我收到錯誤消息,說You did not supply enough values to fill path parameters

知道我為什么錯嗎?

請嘗試以下操作:

<rule>
    <from>^/v2/users/([A-Fa-f0-9]{8})/orders/([A-Fa-f0-9]{8})$</from>
    <to>/v1/users/$1/orders/$2</to>
</rule>

請注意,您已經使用了一個額外的“ $”。 在RegEx中,“ $”表示“句子結尾”。

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM