チケット システムと統合するための API を提供するために自己ホスト型の ServiceStack を使用しており、次のルートを定義しています。
Routes
.Add<TicketsWithStatus>("tickets/{Status}")
.Add<TicketStatusCounts>("tickets");
ステータスにスペースが含まれている場合、最初のルートで URL エンコードの問題が発生します。参照するhttp://myservicebase/json/syncreply/TicketsWithStatus?Status=On%20Holdと、期待どおりの応答が得られます。ただし、RESTful ルートを使用すると、http://mysevicebase/tickets/On%20Hold結果が得られません。
アプリケーションをデバッグすると、呼び出しの場合はOn%20HoldURL がデコードされていることがわかりますが、RESTful ルートを使用している場合はデコードされません。On Holdjson/syncreply
RESTful ルート経由でサービスを呼び出すときに、ステータス プロパティが適切にデコードされるようにするにはどうすればよいですか?