REST服务为演示返回“有用”信息

时间:2011-08-29 23:40:14

标签: web-services api rest

我正在寻找可以在演示代码中使用的REST服务。我想要服务:

  • 至少采用一个参数(作为请求参数,或作为HTTP请求正文发布的XML)。
  • 将结果作为XML(而不是JSON)返回。
  • 匿名访问(我会在示例代码中调用该服务,因此我不想将我的密钥放在代码中,或者请求用户获取密钥)。

当Twitter API支持XML(而不仅仅是JSON)时,我通常使用他们的search API。但实际上任何主流都足够容易理解(关于邮政编码的信息,城市的天气......)。

2 个答案:

答案 0 :(得分:1)

如果您使用.Net,为什么不创建一个微型MVC应用程序,它有一个控制器,公开一个返回某种格式化XML的方法?这样你就可以在本地运行整个事情。

修改

您知道,我认为您可以在没有密钥的情况下使用Google Maps API。我几天前创建了一个测试项目。这是一个.Net代码片段(仅包含在内,以便您可以看到我如何调用该服务):

private static string GetString(Uri requestUri)
{
   var output = string.Empty;

   var response = WebRequest.Create(requestUri).GetResponse();
   var stream = response.GetResponseStream();
   if (stream != null)
   {
      using (var reader = new StreamReader(stream))
      {
         output = reader.ReadToEnd();
         reader.Close();
      }
   }
   response.Close();
   return output;
}

我用url传递了一个uri:

https://maps.googleapis.com/maps/api/directions/xml?mode=walking&origin={0},{1}&destination={2},{3}&sensor=false

{0},{1}是第一个纬度/经度,{2},{3}是第二个。我没有附加密钥,它可以用于测试。我的方法返回一个字符串,稍后我会这样处理:

var response = XDocument.Parse(GetString(request));

给了我回xml。同样,我仍然建议您创建自己的Web应用程序,然后将其部署在可公开访问的位置(在LAN或Web上),但如果您只需要Web服务来返回XML,则可以使用它。

答案 1 :(得分:0)

Yahoo! Weather API可用于此目的。它将位置作为请求参数,并将该位置的天气预报作为XML返回。它还将天气信息作为HTML返回,您可以按原样显示给用户。您可以在下面看到此示例。另外,请确保您遵守Weather API文档页面底部描述的使用条款。

weather output