ASP NET Core允许在类内部定义API控制器,可通过在控制器类上添加[ApiController]属性来实现。以下是示例代码:
using Microsoft.AspNetCore.Mvc;
namespace MyNamespace
{
[ApiController]
public class MyController : ControllerBase
{
[HttpGet]
[Route("api/mycontroller/getdata")]
public IActionResult GetData()
{
// Code to retrieve data
}
}
}
通过在MyController类上添加[ApiController]属性,这将指示框架该类具有API控制器行为。GetData()方法标记为[HttpGet]属性以响应HTTP GET请求。可以使用[Route]属性来指定路由模板以定义API方法的路由。可以在控制器中添加其他操作方法,如Post, Put和Delete等。
在使用类内定义API控制器时,建议始终使用属性路由,以便更容易查看控制器方法和路由之间的关系。