我们希望在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