ASP.Net Web API是.Net和PHP消耗的API的不错选择吗?

Win*_*Win 5 php c# asp.net rest asp.net-web-api

在过去,我使用ASMX,它通过SOAP WSDL提供强类型类.

我必须实现将由.Net和PHP使用的API.所以我已经决定使用REST(我对Azure的Rest API(如Blob存储)印象非常深刻).

虽然我读了几本书 - Pro ASP.NET MVC 4,API,Pro ASP.NET Web API Security,但我对Web API还是很陌生.但是,我仍然无法弄清楚以下几点 -

问题

  1. 客户端是否可以从Web API(如SOAP WSDL)获取强类型类?(如果没有,我需要做什么才能获得像Azure Blob存储这样的强类型类)

  2. PHP客户端可以轻松使用Web API吗?(我对PHP一无所知)

谢谢你脱光!

请注意,这不是关于SOAP vs Rest,Web API与WCF的争论.

kap*_*tan 3

1)在客户端,您可以将响应(json/xml)解析为强类型类。代码片段来自这里

您已经在客户端中定义了产品类别:

class Product
{
    public string Name { get; set; }
    public double Price { get; set; }
    public string Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后调用 API 来获取产品并将响应解析为可枚举的产品:

HttpResponseMessage response = client.GetAsync("api/products").Result;  // Blocking call!
if (response.IsSuccessStatusCode)
{
    // Parse the response body. Blocking!
    var products = response.Content.ReadAsAsync<IEnumerable<Product>>().Result;
    foreach (var p in products)
    {
        Console.WriteLine("{0}\t{1};\t{2}", p.Name, p.Price, p.Category);
    }
}
Run Code Online (Sandbox Code Playgroud)

2) ASP .NET Web API 基于HTTP。因此,只要您的客户端使用 HTTP,您就可以使用 Web 服务。