csharp REST结合RPC样式的端点用于博客文章。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp REST结合RPC样式的端点用于博客文章。相关的知识,希望对你有一定的参考价值。

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Add this line to register Attribute-Routing
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
[RoutePrefix("api/products")]
public class ProductsController : ApiController
{
    // Route: GET /api/products/3
    public IHttpActionResult GetProduct(int id)
    {
        return Ok("Product " + id);
    }

    // Route: GET /api/products
    public IHttpActionResult GetAllProducts()
    {
        return Ok("All Products");
    }

    // Route: POST /api/products { id: 3 }
    public IHttpActionResult PostProduct(ProductModel model)
    {
        return Ok("Create Product " + model.Id);
    }

    // Route: PUT /api/products/3 { id: 3 }
    public IHttpActionResult PutProduct(ProductModel model)
    {
        return Ok("Update Product " + model.Id);
    }

    // Route: DELETE /api/products/3
    public IHttpActionResult DeleteProduct(int id)
    {
        return Ok("Delete Product " + id);
    }

    // Route: GET /api/products/customEndPoint?id=3
    [HttpGet]
    [Route("customGetEndpoint")]
    public IHttpActionResult CustomGetEndpoint(int id)
    {
        return Ok("Custom Get " + id);
    }

    // Route: POST /api/products/customEndPoint { id: 3 }
    [HttpPost]
    [Route("customPostEndpoint")]
    public IHttpActionResult CustomPostEndpoint(ProductModel model)
    {
        return Ok("Custom Post " + model.Id);
    }
}
public class ProductModel
{
    public int Id { get; set; }
}

以上是关于csharp REST结合RPC样式的端点用于博客文章。的主要内容,如果未能解决你的问题,请参考以下文章

将 HATEOAS 用于 RPC 样式的命令是不是是 RESTful

将 RPC 样式的 Web 服务操作转换为 REST 服务

结合 REST API 和 RPC

在apigility中触发RPC控制器中的REST请求

Web API RPC 与 WCF 和 JSON [重复]

如何结合 Spring REST 和 WebSocket?