当前位置: 首页 > 知识库问答 >
问题:

不能和邮递员一起投递数据

刘俊语
2023-03-14

我创建了一个简单的Web API项目,我正试图用邮递员软件发布数据,但有些东西不起作用...

我的web api控制器的名称是ValuesController。

我的数据如下所示:

public class Data
{
    [Key]
    public int ID { get; set; }
    public string Value { get; set; }
}
public void Post([FromBody]string value)
{
    db.Datas.Add(new Data { Value = value });
    db.SaveChanges();
}

当我将Post方法修改为:

public IHttpActionResult Post([FromBody]string value)
{
    if (!ModelState.IsValid)
        return BadRequest("Bad request");

    db.Datas.Add(new Data { Value = value });
    db.SaveChanges();

    return Ok();
}

我收到邮递员的“坏请求”信息

共有1个答案

卢皓轩
2023-03-14

将方法参数从字符串更改为数据,如下所示

public void Post(Data value)
{
    db.Datas.Add(new Data { Value = value });
    db.SaveChanges();
}

这会管用的。

 类似资料:
  • 这是我尝试用以下代码发送到api文件夹中的pictures控制器的数据: 这将抛出一个数据库错误,该错误表示我违反了外键约束(我认为这是因为为空)。但是,我只想看看发布的数据的外观,但是当我尝试使用函数输出时,没有显示出来。我试图发布一个实际工作的JSON体。我的问题是如何获得通过表单数据发送的控制器中的数据。 编辑我确实输出了请求数据,但为true。当我尝试使用输出时,我会得到以下信息: 编辑2

  • 我和邮递员一起看了用cookie发送请求的手册: 由于打包的应用程序运行在与浏览器分开的沙箱中,因此无法访问浏览器内部设置的cookie。使用拦截器扩展也可以克服这个限制。Postman通过拦截器路由所有请求,然后拦截器使用浏览器上下文发送请求。浏览器内部设置的Cookie将自动附加到您的请求。阅读关于拦截器的博文原文。 一旦拦截器启用,您也可以从邮递员发送cookie。只需设置“cookie”头

  • 我正在尝试设置邮递员预请求,以便在向服务发出每个请求之前获取 OAuth 令牌。 我尝试遵循与此相关的各种示例和指南,每个示例和指南似乎都非常简单,尽管由于预请求脚本失败,我的脚本仍然存在问题。 恐怕这在某种程度上与这样一个事实有关,即我需要调用的endpoint来获取令牌是在超文本传输协议上,而不是在https上,因为在Postman控制台中,我总是收到对同一个url的两个单独的请求,一个在ht

  • 在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。

  • 这是我的POST方法,我还没有添加读取文件的逻辑: 如果有必要,我可以更改json的结构,以避免出现嵌套的json,但我想先知道这是否可行。谢谢

  • 我创建了对在 AWS 服务器上运行的后端的邮递员 POST API 调用 我得到了适当的回应。我的测试人员(远程工作的人)做了同样的事情,得到了错误的API响应(不是我们所期望的)。 我试着在我们公司的另外4台电脑上做同样的测试用例,得到了同样的正确响应。我的测试人员的邮递员有什么问题?