ホームページ > バックエンド開発 > C++ > ASP.NET Web API 2 ルーティングで特殊文字を含む URL を処理する方法

ASP.NET Web API 2 ルーティングで特殊文字を含む URL を処理する方法

Barbara Streisand
リリース: 2025-01-05 03:19:42
オリジナル
783 人が閲覧しました

How to Handle URLs with Special Characters in ASP.NET Web API 2 Routing?

MVC Web API 2 での特殊文字を使用したルーティング

問題:
などの特殊文字を含む URL を使用してリソースにアクセスしようとしていますパス セグメントにドット (`.') があると、「HTTP エラー 404.0 - 見つかりません」が発生します。エラー。

構成:
質問で提供されたサンプル コントローラーと WebApiConfig:

// PeopleController.cs
public class PeopleController : ApiController
{
    // ...
}

// WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
    // ...

    config.Routes.MapHttpRoute(name: "DefaultApi", 
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}
ログイン後にコピー

解決策:
パス セグメントにドットなどの特殊文字を許可するには、WebApiConfig ルートを次のように変更します。

config.Routes.MapHttpRoute(name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}/{*path}",
    defaults: new { id = RouteParameter.Optional, path = RouteParameter.Optional }
);
ログイン後にコピー

このルート テンプレートは、ドットなどの特殊文字を含む残りのパス セグメントをキャプチャする {*path} という名前のキャッチオール ルート パラメータを追加します。

例:

http://somedomain.com/api/people/staff.33311/
ログイン後にコピー

URL の末尾にスラッシュ (/) を追加すると、リクエストをルーティングできます。パスセグメントを処理するコントローラーアクション、この場合はstaff.33311.

以上がASP.NET Web API 2 ルーティングで特殊文字を含む URL を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート