我正在创建一个iOS应用程序,我需要通过Web服务连接到数据库。我只知道使用RESTful Web服务的基本知识,我之前从未编写过自己的知识,并且想知道您是否可以就如何编写自己的RESTful Web服务向我提出任何建议。
在我的iOS程序中,我将向Web服务发送一个部件号,然后Web服务将需要返回部件上的颜色和大小信息。我不确定XML是最好的格式还是更好的东西?
我想我的问题有两个:
答案 0 :(得分:6)
您可以使用WCF创建RESTful服务,您可以使用Nancy:
我建议使用json作为数据格式,请参阅此处的一些优秀链接:iPhone/iOS JSON parsing tutorial
在wcf中你要创建这样的服务:请看这里有一个合理的例子:http://blogs.msdn.com/b/kaevans/archive/2008/04/03/creating-restful-services-using-wcf.aspx
[ServiceContract]
public interface IServeStuff
{
[OperationContract]
[WebGet(UriTemplate = "/stuff/{id}",
ResponseFormat = WebMessageFormat.Json)]
Stuff GetStuff(string id);
}
public class StuffService : IServeStuff
{
public Stuff GetStuff(string id)
{
return new Stuff(id);
}
}
或者像这样的nancy http://www.nancyfx.org/:
public MyModule : NancyModule
{
public MyModule()
{
Get["/stuff/{id}"] = parameters => {
return new Stuff(parameters.id).AsJson();
};
}
}
但在此之前,请听@PeterKelly,因为他是对的
答案 1 :(得分:5)
我的建议是使用ASP.NET MVC3实现这一点 - 因为这提供了一个很好的控制器 - 动作范例,非常适合实现REST服务。你可以使用WCF,我相信它会正常工作,但从个人经验来看,我发现MVC3非常容易用来为iOS客户端编写REST后端。
我建议使用JSON而不是XML,主要是因为它比XML更简洁,但是如果您稍后决定为数据库实现Web前端,它还有其他优点,因为Javascript对JSON有很好的支持。
还有一个备受好评的iOS REST实现框架称为RestKit。
关于使用MVC famework实现REST的教程,this might be one to look at。
答案 2 :(得分:3)
看到你对REST的经验不多,我首先要了解这个概念。在继续设计服务之前,必须从根本上了解它是什么(它不仅仅是漂亮的URL)。
如果你给自己2天的时间,你可以阅读,理解和消化所有这些资源没问题。
您可能最终会使用WCF - 您可以从here
获取REST入门套件答案 3 :(得分:1)
你几乎可以使用任何东西。
如果这是您真正唯一的要求,那么只需使用ASP.NET“通用处理程序”,从请求查询参数中提取信息并将JSON / XML写入响应即可。
但如果你希望将来的事情变得更加复杂,你会想要使用某种类似“Bas B”和“iandotkelly”推荐的框架。
答案 4 :(得分:0)
使用WCF Data Services。这支持XML和json(json更有效)。
与Entity Framework一起使用此开发时间最少。
答案 5 :(得分:0)
WCF数据服务将在此为您提供帮助。