从 Android 到 Web API 的 POST 数据返回 404

2023-12-02

我尝试将数据从 Android 客户端作为 POST 请求发送到我的 Web API 后端,但它返回 404 响应代码。这是我的代码:

Backend:

[HttpPost]
[Route("api/postcomment")]
public IHttpActionResult PostComment(string comment, string email, string actid)
{
       string status = CC.PostNewComment(comment, email, actid);
       return Ok(status);
}

安卓代码:

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://MYWEBADDRESS.azure-mobile.net/api/postcomment");
String mobileServiceAppId = "AZURE_SERVICE_APP_ID";

try {

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("comment", comment));
        nameValuePairs.add(new BasicNameValuePair("email", currEmail));
        nameValuePairs.add(new BasicNameValuePair("actid", currActID));

        httppost.setHeader("Content-Type", "application/json");
        httppost.setHeader("ACCEPT", "application/json");
        httppost.setHeader("X-ZUMO-APPLICATION", mobileServiceAppId);

        UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairs);
        httppost.setEntity(formEntity);

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

} 
catch (Exception e) {
}

然而这会返回一个404对我的 Android 客户端的响应代码。我的代码不正确吗?错误之处还请指出:)


我通过正确设置后端来接受 Android 客户端发送的参数来修复此问题。问题出在我的后端,而不是我的客户端。

这是我的后端:

[Route("api/postcomment")]
public IHttpActionResult PostComment([FromBody] CommentViewModel model)
{
       string comment = model.Comment;
       //Do your processing
       return Ok(return_something);
}

public class CommentViewModel
{
        public string Comment { get; set; }
        public string Email { get; set; }
        public string Actid { get; set; }
}

我使用 [FromBody] 强制该方法读取请求正文,并使用模型来获取客户端传递的值。该方法自动从请求中获取值并将它们设置到模型中,这使得过程非常简单。

确保您的 Android 客户端使用正确的 POST 代码正确传递参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Android 到 Web API 的 POST 数据返回 404 的相关文章

随机推荐

  • jQuery Mobile:data-rel =“back”+ data-transition 不起作用?

    我创建了一个 jsfiddle 它可以使用导航栏启用选项卡 而无需更改 url 哈希 http jsfiddle net ryanhaney eLENj 1 如果我单击主页上的 第 1 页 链接 然后单击 后退 按钮 我将获得预期的反向幻灯
  • 用向量移动字符

    我正在自学 pygame 并正在考虑让我的角色能够旋转 然后朝他们面对的方向移动 我可以进行旋转 但无法让角色沿着图像面向的方向移动 代码在 Trinket 上HERE class Bob pygame sprite Sprite def
  • 如何使用函数参数作为变量的一部分?

    这有效 chrome storage local get sizePref function items Get size preferences from storage var sizePref2 items sizePref tops
  • Laravel Eloquent 无法使用复合主键保存模型

    当定义复合主键然后在实例化模型上调用 save 时 会引发异常 ErrorException E UNKNOWN PDO lastInsertId expects parameter 1 to be string array given 错
  • 使用 Java Servlet API 发送 100 继续

    是否可以发送 100 Continue HTTP 状态代码 然后在使用 Java Servlet API HttpServletResponse 处理整个请求后发送一些其他状态代码 我找不到任何明确的 否 答案 尽管 API 似乎不支持它
  • Python 如何打印列表的列表

    我想用下面的代码打印 python 3 x 中的列表列表 但它给出了错误 lol 1 2 3 4 5 6 five six for elem in lol print join elem this is the error I am get
  • cabal 沙箱 v. 全局包数据库

    在 cabal 沙箱内安装时 cabal 仍将使用全局包数据库中的包 特别是来自 Haskell 平台的包 这可能会导致安装冲突 是否可以配置 cabal 来忽略全局包 db 我看到相应的功能已经实现了ghc本身 通过 no global
  • 使用 3D 变换翻转在 IE11 中不起作用(我的不同)

    我研究了 CSS3 3d 变换 最后得到了一些 CSS3 3d 翻转动作的代码 所以它在所有浏览器中都工作正常 除了互联网浏览器 IE11 所以我在 stackoverflow com 上调查了这个问题 我得到了一些解决方案 但不幸的是这些
  • Span 的“ScrollWidth”属性在 Chrome 上不起作用吗?

    我有一个跨度 里面有一些文本 document getElementById span1 scrollWidth 在 Firefox 上返回 100 作为滚动宽度 但 Chrome 仅返回 0 Chrome 不支持这个 scrollWidt
  • 解析sql中的JSON字符串

    我的表中有一列 JSON 字符串 我使用的是 SQL Server 2008 关于如何解析 JSON 字符串并提取特定值的任何想法 这是我的 JSON 字符串 id 1234 name Lasagne al frono descriptio
  • Rails 3.1 link_to 未正确显示确认或销毁

    我一直在研读 Railstutorial org 上的章节并使用 Rails 3 1 3 因为我很疯狂和 或想要挑战 我设法轻松地解决了大多数版本问题 但这个问题困扰了我一段时间 在10 4 2中 Michael Hartl使用以下代码删除
  • 如何像口语一样将数字转换为文本?

    如果值以百万为单位 那么字符串应该是 miliion thousand hundred 我使用了这段代码 但它显示的是百万值 如何解决这个问题 convert to words NSString wordNumber NSNumber nu
  • 如何在未聚焦的 WinForms TextBox/RichTextBox 中显示光标?

    我需要在 WinForms 应用程序的 RichTextBox 控件中显示光标 即使它没有焦点 我怎样才能做到这一点 我只找到了WPF的方法 如何在未聚焦时保持 WPF 文本框选择 您可以使用 WinAPI DllImport user32
  • 有没有什么方法可以获取没有查询字符串的 URL?

    我有一个像这样的网址http localhost dms mduserSecurity UIL index php menu true submenu true pcode 1235 我想获取不带查询字符串的 URL http localh
  • 使用 Node 将文件从一个 AWS S3 存储桶复制到另一个存储桶

    我正在尝试使用 Node js 将文件从 AWS S3 存储桶复制到另一个存储桶 问题是如果文件名没有空格 例如 abc csv 它工作正常 但如果我要复制到的文件的文件名中有空格 例如 abc xyz csv 它抛出以下错误 指定的密钥不
  • Phonegap、textarea不接受输入

    这是一个 Noob Gingrich 的问题 很确定我错过了一些简单的东西 有没有让文本区域在移动设备上工作的技巧 我所说的工作是指接受来自软键盘的文本 我在phonegapbuild 上有一个移动应用程序 在一页上有一个包含文本框和文本区
  • MATLAB 事件和无限休眠或检查循环

    我需要在目录中的文件进入时对其进行数据分析 我想知道如果这样更好 在目录上实现事件监听器 并在激活时启动分析过程 然后让程序永远进入睡眠状态 while true sleep 1e10 end 或者有一个循环轮询更改并做出反应 我个人更喜欢
  • C# 使用唯一的自定义数据 FCM 向设备组发送通知

    我知道我可以提供registration ids将 JSON 请求以字符串数组的形式发送到多个设备 但是 我有一个独特的令牌 我想将其发送给每个人registration ids 如何实现这一目标 而无需简单地循环发送我希望发送到的设备数量
  • 从“后退”按钮中删除文本,保留图标

    我想从后退按钮中删除文本 但我想保留图标 我努力了 let backButton UIBarButtonItem title style UIBarButtonItemStyle Plain target navigationControl
  • 从 Android 到 Web API 的 POST 数据返回 404

    我尝试将数据从 Android 客户端作为 POST 请求发送到我的 Web API 后端 但它返回 404 响应代码 这是我的代码 Backend HttpPost Route api postcomment public IHttpAc