我正在向 Nancy 模块发送一些简单的用户详细信息。我正在利用 Nancy 的模型绑定功能从请求中获取用户详细信息并将它们传递给我的UserService.Add(...)
方法,如下所示:
南希模块
Post["/add"] = parameters =>
{
var user = this.Bind<UserDetails>();
UserService.Add(user);
return HttpStatusCode.OK;
};
用户详细信息类
public class UserDetails
{
public string UserName { get; set; }
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
用户服务
public static void Add(UserDetails user)
{
//Add the user
}
这在 Nancy 模块中有效并使得语法更简洁。然而,这意味着我不得不创建一个数据传输 (DTO) 类,只是为了收集请求有效负载。
是否有可能完全避免这个中间类?除了将类绑定到有效负载之外,是否可以绑定方法参数?
这将给出可能看起来像这样的代码:
南希模块
Post["/add"] = parameters =>
{
this.BindAndCall<UserService>("Add");
return HttpStatusCode.OK;
};
用户服务
public static void Add(string firstName, string lastName, string email, string userName, string password)
{
//Add the user
}