首页 > 解决方案 > http请求不包含.net core 2.1中createresponse的定义

问题描述

当我创建控制器并继承 ApiController 时,我正在使用 .net core 2.1 。但是在我的控制器方法中返回类型 HttpResponseMessage 并给出一个错误给定的问题标题这是我的方法

[HttpGet]
[Route("GetAll")]
[AcceptVerbs("Get", "Post")]
public HttpResponseMessage SelectCAllCustomers()
{
    try
    {
        return Request.CreateResponse<List<Customer>>(HttpStatusCode.OK, customerDetailsRepository.FindAll("SelectAllCustomers").ToList());
    }
    catch (Exception ex)
    {
        return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
    }
}

标签: c#asp.net-core.net-core

解决方案


Asp.Net Core 不再使用该 API。

使用更新的语法

[Route("api/[controller]")]
public class CustomersController: Controller {

    //...

    [HttpGet("GetAll")]
    [AcceptVerbs("Get", "Post")]
    public IActionResult SelectCAllCustomers() {
        var model = customerDetailsRepository.FindAll("SelectAllCustomers").ToList();
        return Ok(model);            
    }
}

推荐阅读