如果我实现了一个基于REST WCF服务,然后作为一个请求我只会用我的HTTP URL说FR例如http://www.example.com/createuser/user1关于困惑基于REST WCF服务
现在,我需要发布到服务器会去的数据作为HttpRequest对象itslef的一部分,如果我使用post方法,这是否正确?
也作为响应的一部分我得到了什么,我只得到JSON,这是我想从响应或HttpResponse对象,其中有json作为它的身体的一部分?
如果我实现了一个基于REST WCF服务,然后作为一个请求我只会用我的HTTP URL说FR例如http://www.example.com/createuser/user1关于困惑基于REST WCF服务
现在,我需要发布到服务器会去的数据作为HttpRequest对象itslef的一部分,如果我使用post方法,这是否正确?
也作为响应的一部分我得到了什么,我只得到JSON,这是我想从响应或HttpResponse对象,其中有json作为它的身体的一部分?
首先,你的URL仍然看起来像RPC风格。方法名称在URL中(createruser/user1)。
相反,如果你的用户的资源,那么用户的集合可以显示如下 http://www.example.com/users(使用HTTP GET),这会给你的所有用户。
对于perticular用户 http://www.example.com/Users/User_Id与HTTP GET方法
如果你想创建一个perticular用户,然后 HTTP:// WWW。 example.com/Users with HTTP Post。现在
,HTTP邮政形式收集发送数据,从而创建一个用户的信息将被发送的表单数据。
至于回复,服务器可以发送给你多种形式的答复。客户必须在接受的头文件中说明他想要一个特定资源的哪种表示形式(它可以通过url来识别,就像twitter apis一样)。服务器可以考虑客户端请求并服务于内容类型中的响应。还有其他媒体类型也比JSON,XML和纯文本
至于你HTTResponse对象等,这将取决于你使用什么样的技术,使一个requeset。如果你使用C#,那么你会得到一个HTTPResponse对象。如果使用Javascript,那么你会得到响应,嵌入式XMLHttpRequest的身体(通过responseXML的或responseText的)
编辑 你可以使用REST入门套件为WCF,甚至你可以使用的WebAPI内。 在WCF,而宣告你的承包经营合同,你会用下列属性
[OperationContract]
[WebInvoke(Method="GET", UriTemplate="/GetData",
ResponseFormat=WebMessageFormat.Json)]
string GetData();
这是什么告诉
方法来注解你的方法=“GET”用于此资源
UriTemplate = HTTP方法用于将该方法映射到URL。一个特定的URL需要一个适当的方法来调用。
ResponseFormat =服务器返回在这种格式的响应。
我的动机是只从服务器获取JSON,只是简单的json.I假设这是可能的,但怎么做?你能指点一下吗?BTW我很喜欢你的回答! – Charu
谢谢,已添加编辑 – Anand