servicestack-生成请求dto参数

汤姆乙

我有这样的请求DTO:

[Route("/appusers/resetpwd/{UserId}", "PUT")]
public class ResetPassword : IReturn<AppUserDto>
{
    public Guid UserId { get; set; }
    public string OldPassword { get; set; }
    public string NewPassword { get; set; }

    public ResetPassword(Guid userId, string oldPassword, string newPassword)
    {
        UserId = userId;
        OldPassword = oldPassword;
        NewPassword = newPassword;
    }
}

元数据页面在列表中将三个属性显示为REQUIRED =No。可以要求他们吗?还是这仅表示我必须在服务器上检查它们并引发异常,如Wiki中所述

神话

您可以使用ServiceStack的内置ValidationFeature声明必填字段,例如:

在AppHost中启用:

Plugins.Add(new ValidationFeature());

//Register All Validators in Assembly
container.RegisterValidators(typeof(MyValidator).Assembly);

配置:

public class ResetPasswordValidator : AbstractValidator<ResetPassword>
{
    public ResetPasswordValidator()
    {
        RuleFor(x => x.UserId).NotEmpty();
        RuleFor(x => x.OldPassword).NotEmpty();
        RuleFor(x => x.NewPassword).NotEmpty();
    }
}

设计基于消息的HTTP API

请注意,某些序列化程序要求所有DTO都具有无参数构造函数。同样,重设用户密码不是有效的PUT操作,应该是幂等的,并且粗略地转换为“在此位置放置此资源”,它更适合作为POST发送。

您可以在此先前的答案找到有关在ServiceStack中设计基于消息的API和HTTP API的一些技巧,在该文章中,我会将请求DTO重写为:

[Route("/users/{UserId}/reset-password", "POST")]
public class ResetPassword : IReturn<ResetPasswordResponse>
{
    public Guid UserId { get; set; }
    public string OldPassword { get; set; }
    public string NewPassword { get; set; }
}

虽然如果此服务不需要返回响应,但它也可以仅返回void,例如:

public class ResetPassword : IReturnVoid { ... }

并通过以下方式在您的服务中实现:

public void Any(ResetPassword request) { ... }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ServiceStack零依赖请求-响应DTO

来自分类Dev

servicestack GlobalRequestFilters 请求 Dto 为空

来自分类Dev

是否可以为每个请求使用带有方法参数的ServiceStack路由而不是DTO类?

来自分类Dev

MonoTouch上的ServiceStack DTO

来自分类Dev

ServiceStack请求主体

来自分类Dev

ServiceStack遍历所有请求/响应DTO

来自分类Dev

ServiceStack ORMLite-如何全选以自动匹配请求DTO的属性

来自分类Dev

ServiceStack遍历所有请求/响应DTO

来自分类Dev

从WSDL生成ServiceStack服务

来自分类Dev

ServiceStack Swagger DTO不会排除

来自分类Dev

具有继承的ServiceStack DTO

来自分类Dev

ServiceStack服务请求设计

来自分类Dev

如何取消ServiceStack异步请求?

来自分类Dev

ServiceStack解析Xml请求字典

来自分类Dev

ServiceStack解析Xml请求字典

来自分类Dev

Servicestack-多个IReturn on Request DTO

来自分类Dev

ServiceStack EnryptedClient使用IReturnVoid DTO错误

来自分类Dev

简单的ServiceStack DTO到DomainModel映射

来自分类Dev

Servicestack-多个IReturn on Request DTO

来自分类Dev

ServiceStack DTO类中的项目快速序列

来自分类Dev

在ServiceStack服务请求和响应DTO中隐藏一些公共属性

来自分类Dev

在请求过滤器中结束响应时,ServiceStack设置响应DTO

来自分类Dev

ServiceStack:如果类型为抽象,则请求DTO中的属性为null

来自分类Dev

在请求过滤器中结束响应时,ServiceStack设置响应DTO

来自分类Dev

ServiceStack请求提供500个大型请求

来自分类Dev

请求上下文中的ServiceStack HasPermission

来自分类Dev

ServiceStack请求和响应对象

来自分类Dev

ServiceStack验证程序-请求未注入

来自分类Dev

RefreshToken过期JsonHttpClient ServiceStack之后,请求挂起

Related 相关文章

热门标签

归档