ServiceStack の Routes に関する以前の回答をお読みください。ルートには、/path/info
すべてのリクエスト DTO を自動的に入力できる queryString を含めないでください。
DTO に次のようなコード プロパティがある場合:
[Route("/registration", "GET")]
public class Registration
{
public string Code { get; set; }
}
あなたはすでにそれを移入することができます: /registration?code=abc
.
それ以外の場合は、queryString と DTO に異なる名前を付けたい場合は、DTO に次のように注釈を付けてエイリアスを作成してみてください[DataContract]
。
[Route("/registration", "GET")]
[DataContract]
public class Registration
{
[DataMember(Name="code")]
public string AuthorizationCode { get; set; }
}
どちらの方法でも、サービスまたはフィルターで常に QueryString に直接アクセスできます。
public MyService : Service
{
public object Post(Registration request)
{
var code = base.Request.QueryString["code"];
}
}