REST参数:对象与本机数据类型

时间:2011-04-26 13:42:05

标签: c# wcf api rest

在设计使用JSON作为消息传递格式的WCF REST服务时,最好是将序列化的JSON对象传递给WCF服务还是包含参数值对的JSON?

换句话说,签名最好的方法是什么:

public void CreateUser(User user);

public void CreateUser(string userName, string firstName, string lastName, string email, string password);

User对象将包含UserName,FirstName,LastName,Email和Password的属性。

在我看来,消费者使用后来的签名会更容易,因为它消除了用户对象实际需要包含的问题。

我的想法是否正确?

1 个答案:

答案 0 :(得分:1)

实际上 - 我希望REST-ful API能够创建一个看起来像HTTP POST的用户。

http://myhostname/users/

其中请求的主体包含构造新User对象所需的字段。

然后,Web服务将创建对象,将其持久化,并将URI返回给对象,以便以后检索它。例如,它可能会返回

http://myhostname/users/DanWaterbly

消费者使用这种方法相当容易,因为正确编写的反序列化器可以容忍User对象中额外或缺少的元素。