0

NuGet で ServiceStack をダウンロードしました。バージョン 3.9.56。

シンプルな Web サービスを試していますが、メタデータ json ページを開くと NullReferenceException エラーが発生します。

私のサービスはここにあります:

[Route("/users")]
[Alias("Users")]
public class User
{
    [Alias("UserID")]
    public int id { get; set; }

    public string UserName { get; set; }
    public string Email { get; set; }
}

public class UsersService:Service
{
    public object Get(User request)
    {
        var result = new List<User>();
        result = Db.Select<User>();
        return result;
    }
}
4

1 に答える 1

3

null 参照例外を説明する可能性がある既知の問題があります。ただし、他の投稿とは異なり、したくないIReturnVoidので、ここでの答えは ServiceStack が修正されるのを待つのではなく、DTO の宣言を改善することです。

実装は、リクエストに対してオブジェクトをUsersService返しています。これを ServiceStack で次のように文書化できます。List<User>User

public class User : IReturn<List<User>>
{
    ...
}

これにより、ServiceStack がユーザー メッセージに対して予期される応答のタイプを認識するようになったため、メタデータ ページに表示される問題が修正される場合があります。リクエスト DTO を で装飾することには、他にも利点がありますIReturn

  • 型指定された C# クライアントは、クライアントが応答メッセージの型を認識できるため、使いやすくなります。
  • Swagger UIを使用すると、応答タイプが認識され、自動的に文書化されます。
于 2013-08-13T17:54:15.397 に答える