我刚刚用NuGet下载了ServiceStack。版本3.9.56。
我正在尝试简单的webservice,但是当我打开元数据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;
}
}
答案 0 :(得分:3)
有known issue可以解释您的空引用异常。但是,您不希望IReturnVoid
,与其他帖子不同,所以这里的答案不是等待ServiceStack修复,而是要改进您的DTO声明:
您的UsersService
实施正在为List<User>
请求返回User
个对象。您可以在ServiceStack中记录此内容,如下所示:
public class User : IReturn<List<User>>
{
...
}
这可能会解决您在元数据页面上看到的问题,因为ServiceStack现在知道对用户消息的期望响应类型。使用IReturn
装饰您的请求DTO还有其他好处: