【问题标题】:When my POST request has many items, I get a error "StatusCode: 502, ReasonPhrase: 'Bad Gateway'"当我的 POST 请求有很多项目时,我收到错误“StatusCode: 502, ReasonPhrase: 'Bad Gateway'”
【发布时间】:2019-03-28 20:15:09
【问题描述】:

我有一个 Order 和 Items 类。当我的 Order 对象有很多 Items 时,我会收到错误消息。但是当它的项目很少时,它可以正常工作。

我的 POST 请求:

        try
        {
            var request = new HttpRequestMessage(HttpMethod.Post, new Uri(endPoint));
            if (data != null && data.Count > 0)
            {
                request.Content = new StringContent(JsonConvert.SerializeObject(data),
                    Encoding.UTF8,
                    "application/json");

                request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            }

            request.Headers.Add("Authorization", "Bearer " + token);
            if (headers != null)
            {
                foreach (var header in headers)
                {
                    request.Headers.Add(header.Key, header.Value);
                }
            }

            var response = await _client.SendAsync(request);
            return response;
        }
        catch (Exception ex)
        {
            App.HandleException(ex);
            Debug.WriteLine(ex);
            return null;
        }

【问题讨论】:

  • 这段代码是什么语言?当然不是 C.
  • 所有 500 错误都是服务器错误。您需要与您的服务器团队交谈,或自己调试服务器。
  • 我正在输入“C#”,但在保存更改时会插入“C”

标签: xamarin httpclient


【解决方案1】:

您的 POST 很可能无意中以 JSON 格式发送了大量不必要的数据。我在处理继承时遇到了这个问题。

调试就行了:

JsonConvert.SerializeObject(data);

检查是否真的需要发送。

【讨论】:

  • 没错,我正在使用 Realm 数据库,并且我的类继承自 RealmObject。我转换为 ViewModel 并且它工作正常。
猜你喜欢
  • 2016-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 2020-11-12
  • 2020-05-15
  • 1970-01-01
相关资源
最近更新 更多