c# - 找不到类型或命名空间 'frombody'

标签 c# asp.net rest api

我遇到与 formbody 相关的错误。我正在 dot net 中创建一个 CRUD REST API。下面是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Mvc;
using ProductDataAccess;

public ProductEntities Entities = new ProductEntities();

 public HttpResponseMessage Post([FormBody] Product product)
    {
        try
        {
            Entities.Products.Add(product);
            Entities.SaveChanges();
            var response = Request.CreateResponse(HttpStatusCode.Created, product);
            response.Headers.Location = Request.RequestUri;

            return response;
        }
         catch (Exception)
        {
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Data Not Inserted");

        }
    }

更新1

ProductDataAccess 文件被创建为一个新项目,但两者都在同一解决方案下。 Controller 的代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Mvc;
using ProductDataAccess;

namespace REST_API.Controllers
{
   public class ProductsController : ApiController
   {
    public ProductEntities Entities = new ProductEntities();

    public HttpResponseMessage Get()
    {
        try
        {
            return Request.CreateResponse(HttpStatusCode.Found, Entities.Products.ToList());
        }
        catch
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No Data Found");
        }
    }

    public HttpResponseMessage Get (int id)
    {
        try
        {
            return Request.CreateResponse(HttpStatusCode.Found, Entities.Products.SingleOrDefault(p => p.Id == id));
        }
        catch
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No Data Found");
        }
    }

    public HttpResponseMessage Post([FormBody] Product product)
    {
        try
        {
            Entities.Products.Add(product);
            Entities.SaveChanges();
            var response = Request.CreateResponse(HttpStatusCode.Created, product);
            response.Headers.Location = Request.RequestUri;

            return response;
        }
         catch (Exception)
        {
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Data Not Inserted");

        }
    }
}}

这里我收到formbody错误。我有一个answer对于这个问题,但我仍然无法得到想要的结果。

任何帮助将不胜感激

最佳答案

导入以下命名空间:

using System.Web.Http;

如果您使用的是 dot-net-core,则导入以下内容

using Microsoft.AspNetCore.Mvc;

关于c# - 找不到类型或命名空间 'frombody',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45973011/

相关文章:

c# - Winforms 应用程序停止绘图但仍对事件有反应

c# - 抽象类的构造函数错误

asp.net - 在 ASP.Net Core Identity 中获取当前主体作为我的自定义应用程序用户

支持 ETAG 的 PHP REST API?

java - 任何众所周知的 Java 库,仅返回 REST API 请求的字段

json - WSO2 ESB 是否支持 JSON 格式的 REST 到 REST?

c# - 我如何将一个 View 窗体传输到 MVC3 中的另一个 View ?

C# - 如何修改 getter 给出的结构?

c# - 将 CSS 类设置为选定的 ASP.NET Listview 项

c# - 18 位唯一 ID - 代码可靠性