【问题标题】:How to pass long or int data type value in MultipartEntity?如何在 MultipartEntity 中传递 long 或 int 数据类型值?
【发布时间】:2018-02-27 07:23:01
【问题描述】:

我正在开发 Web 服务的基础应用程序,我的 Web 服务要求是在参数的表单数据中传递 int 或 long 值。有没有可能?

这是我的代码:

MultipartEntity entity  = new MultipartEntity(
            HttpMultipartMode.BROWSER_COMPATIBLE);

entity.addPart("key_id", new StringBody("10001")); //pass int or long

我应该用什么来代替new StringBody("0")

【问题讨论】:

  • @Dumbo:请不要在此处添加“感谢建议”。语法正确的短语是“提前感谢”,但我们不在这里表示感谢 - 如果您遇到这种华夫饼,请将其删除。谢谢。
  • @halfer 你为什么这么粗鲁?你是谁,你不让人心存感激?那你为什么要在发表评论后感谢? :D
  • @Dumbo 诸如“提前致谢”之类的短语的问题被认为是“嘈杂的”,因为用户可以通过支持答案来表达感谢,并且(只是在 OP 中)通过接受答案来表达感谢。
  • 嗨@Dumbo。如果可以的话,我很高兴向您学习,但是在重新阅读我对您的评论时,我完全看不出有任何粗鲁。就语法而言,这是正确的-您的编辑在文本中添加了一个错误,您肯定想知道。就我们的编辑文化而言,这也是正确的,我们的目标是写作的技术标准。请参阅元讨论 herehere

标签: android web-services int form-data


【解决方案1】:

据我所知,MultipartEntity.addPart() 仅接受 StringBodyFileBody

任何其他内容都必须转换为 String 并在接收方再次进行类型转换,在本例中为 Long/Int

【讨论】:

  • 是的.. PostMan 模拟您的客户请求。接收者必须再次对值进行类型转换。
【解决方案2】:

MultipartEntity 仅接受字符串值或请求正文中的文件。 文件采用具有多个其他参数(如 fileName 和 fileSize)的格式。

同样在一个简单的 GET 请求中,url 中的参数采用字符串格式,根据要求在服务器端进行类型转换。

【讨论】:

    【解决方案3】:

    可以将字符串作为 int 或 long 值传递。当您获得该值时,将该值转换为您需要的 int 和 long。

        try
        {
            MultipartEntity entity = new MultipartEntity();
            entity.addPart("type",new StringBody("yourstring"));// pass here int and long value
            httppost.setEntity(entity);
            HttpResponse response = httpclient.execute(httppost);
        }
        catch (Exception e)
        { }
    

    【讨论】:

    • 我的意思是当您将数据发送到 StringBody 时,例如 int 或 long 值。并且当从 api 获取响应为字符串格式时,如果您需要将值转换为 int 或 long 值的任何操作,时间响应值将转换为 int 或 long 并存储它。
    猜你喜欢
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 2020-01-21
    • 2015-11-27
    • 2014-08-10
    相关资源
    最近更新 更多