我刚刚开始熟悉ServiceStack,并开始使用FluentValidation。我已按照介绍进行操作,并创建了一个小型Hello App。
我的问题是,当我尝试验证请求DTO时,不会返回任何错误消息来描述其验证失败的方式,只有空白的Json对象{}
。
我自己,我认为验证是自动连接到DTO的,因此我不需要编写任何额外的代码。
答案可能很公然,但我看不到。任何帮助将不胜感激。我的代码如下:
namespace SampleHello2
{
[Route("/hello")]
[Route("/hello/{Name}")]
public class Hello
{
public string Name { get; set; }
}
public class HelloResponse
{
public string Result { get; set; }
}
public class HelloService : Service
{
public object Any(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
public class HelloValidator : AbstractValidator<Hello>
{
public HelloValidator()
{
//Validation rules for all requests
RuleFor(r => r.Name).NotNull().NotEmpty().Equal("Ian").WithErrorCode("ShouldNotBeEmpty");
RuleFor(r => r.Name.Length).GreaterThan(2);
}
}
public class Global : System.Web.HttpApplication
{
public class HelloAppHost : AppHostBase
{
//Tell Service Stack the name of your application and where to find your web services
public HelloAppHost() : base("Hello Web Services", typeof(HelloService).Assembly) { }
public override void Configure(Funq.Container container)
{
//Enable the validation feature
Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(HelloValidator).Assembly);
//register any dependencies your services use, e.g:
// container.Register<ICacheClient>(new MemoryCacheClient());
}
}
//Initialize your application singleton
protected void Application_Start(object sender, EventArgs e)
{
new HelloAppHost().Init();
}
}
}
附言真的很喜欢使用ServiceStack,这真的是一个很棒的项目,谢谢。
编辑
因此,例如:
调用:http://localhost:60063/hello/Ian?format=json
返回{"Result":"Hello, Ian"}
。
而调用:http://localhost:60063/hello/I?format=json
返回{}
。
第二个调用返回{}
,我期望自动生成错误消息。
参考方案
我找到了答案。这是我的一个疏忽:
这在文档中,但我忽略了它:
处理了下面描述的所有错误处理和验证选项
以相同的方式-序列化为您的ResponseStatus属性
响应DTO使您的客户应用程序能够
通常以相同的方式处理所有Web服务错误。
因此,我的代码中缺少的就是将以下行添加到HelloResponse
类中。
公共ResponseStatus ResponseStatus {get;组; }
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
改造正在返回一个空的响应主体 - java我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…
每个文件合并后添加换行 - python我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…
Json到php,json_decode返回NULL - php我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…
从数据表C#创建复杂的JSON - javascript我的数据集中有3个数据表。表A与B和C有一对多的关系。我想像下面那样在C#中使用Linq创建Json。有人可以帮帮我吗?我要在此先感谢所有将指导我或为我的问题提供投入的人。{ "A": [ { "id": "0001", "type": "donut", …