У меня есть 2 проекта
Один из них находится в .NetFramework 4.8
WebAPi SampleController Controller :
namespace Samples.FrameWork.Mvc.Controllers
{
public class SampleController : ApiController
{
// GET: api/Sample
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
}
Другое в .NetCore 2.2
Контроллер SampleController WebAPi :
namespace Samples.NetCore.WebApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class SampleController : ControllerBase
{
// GET: api/Sample
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
}
т. .. в Dot NetFrameWork действия будут выполняться на основе имени
, для приведенного выше примера имя метода
будет равно
Get(){}
Post(){}
Put(){}
Delete(){}
, если вышеуказанные методы запрашиваются на основе Тип запроса будет автоматически сопоставлен с соответствующим методом.
но когда дело доходит до net основного веб-API, оно также работает, но с помощью HttpMethodAttribute.
мой вопрос: почему. net основные методы веб-API не работают без HttpMethodAttribute, как он работает в. net framework?