小编Vij*_*han的帖子

ASP.NET Web API合同版本控制

我们希望在accept头中使用内容协商来实现基于版本的API.

我们能够通过一些继承实现控制器和API方法,并扩展默认的HTTP选择器.

使用以下示例代码实现控制器继承,

public abstract class AbstractBaseController : ApiController
{
    // common methods for all api
}

public abstract class AbstractStudentController : AbstractBaseController
{
    // common methods for Student related API'sample

    public abstract Post(Student student);
    public abstract Patch(Student student);
}

public class StudentV1Controller : AbstractStudentController
{
    public override Post([FromBody]Student student) // student should be instance of StudentV1 from JSON
    {
        // To Do: Insert V1 Student
    }

    public override Patch([FromBody]Student student) // student should be instance of StudentV1 from JSON …
Run Code Online (Sandbox Code Playgroud)

versioning asp.net asp.net-mvc asp.net-web-api asp.net-web-api2

5
推荐指数
1
解决办法
479
查看次数