我有一个用于搜索用户的 REST 方法。现在我有以下 REST 方法的签名:
MyResponse GetUsers(UserSearchDTO search, int pageno, int totalrecords);
即它接受一个对象UserSearchDTO
,pageno 和 totalrecords 参数。URL 看起来像
myapp/users?pageno={pageno}&totalrecords={totalrecords}
最终客户端将为此服务发送“PUT”请求,例如:
myapp/users?pageno=1&totalrecords=10
并随之传递 UserSearchDTO 发布的 xml 数据,例如
<UserSearchDTO><Department>d</Department><Name>abc</Name></UserSearchDTO>
这是一个好的架构吗,即为了让用户使用“PUT”请求类型。这样做的原因是因为最终客户端必须以 xml 形式传递 UserSearchDTO?
我在想的另一种方法是纯“GET”,即不使用UserSearchDTO
我应该有以下签名:
MyResponse GetUsers(string department,string name,...., int pageno, int totalrecords);
最终客户端会这样称呼它:myapp/users?department=d&name=abc&......&pageno=1&totalrecords=10