• ASP.NET Web API


    ASP.NET Web API includes support for the following features:

    • Modern HTTP programming model: Directly access and manipulate HTTP requests and responses in your Web APIs using a new, strongly typed HTTP object model. The same programming model and HTTP pipeline is symmetrically available on the client through the new HttpClient type.
    • Full support for routes: Web APIs now support the full set of route capabilities that have always been a part of the Web stack, including route parameters and constraints. Additionally, mapping to actions has full support for conventions, so you no longer need to apply attributes such as [HttpPost] to your classes and methods.
    • Content negotiation: The client and server can work together to determine the right format for data being returned from an API. We provide default support for XML, JSON, and Form URL-encoded formats, and you can extend this support by adding your own formatters, or even replace the default content negotiation strategy.
    • Model binding and validation: Model binders provide an easy way to extract data from various parts of an HTTP request and convert those message parts into .NET objects which can be used by the Web API actions.
    • Filters: Web APIs now supports filters, including well-known filters such as the [Authorize] attribute. You can author and plug in your own filters for actions, authorization and exception handling.
    • Query composition: By simply returning IQueryable<T>, your Web API will support querying via the OData URL conventions.
    • Improved testability of HTTP details: Rather than setting HTTP details in static context objects, Web API actions can now work with instances of HttpRequestMessage and HttpResponseMessage. Generic versions of these objects also exist to let you work with your custom types in addition to the HTTP types.
    • Improved Inversion of Control (IoC) via DependencyResolver: Web API now uses the service locator pattern implemented by MVC's dependency resolver to obtain instances for many different facilities.
    • Code-based configuration: Web API configuration is accomplished solely through code, leaving your config files clean.
    • Self-host: Web APIs can be hosted in your own process in addition to IIS while still using the full power of routes and other features of Web API.

    since ASP.NET Web API is built around the standard HTTP methods, there's no need for an Action - those are inferred from the HTTP Method.

     

    routes.MapHttpRoute(

        name: "DefaultApi",

        routeTemplate: "api/{controller}/{id}",

        defaults: new { id = RouteParameter.Optional }

    );

    A GET request maps to the Get action, and you don't need to map that anywhere. If found that really easy to work with, and it pushes you to do the right thing as far as building services around the correct HTTP verbs.

     

    public class ValuesController : ApiController

    {

    // GET /api/values

    public IEnumerable<string> Get()

    {

    return new string[] { "value1", "value2" };

    }

     

    // GET /api/values/5

    public string Get(int id)

    {

    return "value";

    }

     

    // POST /api/values

    public void Post(string value)

    {

    }

     

    // PUT /api/values/5

    public void Put(int id, string value)

    {

    }

     

    // DELETE /api/values/5

    public void Delete(int id)

    {

    }

     
     
    作者:易简.道    
     
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    STL常见用法
    7-1 求a/b的高精度值 (70分)
    迷宫问题
    ES6新特性之箭头函数语法
    2020软件工程作业05
    2020软件工程作业04
    CTF之SQL注入1
    CTF之Git泄露
    CTF之网站源码
    CTF之HTTP基础认证
  • 原文地址:https://www.cnblogs.com/xyicheng/p/2376960.html
Copyright © 2020-2023  润新知