【问题标题】:.Net 5 - API JsonProperty.Net 5 - API JsonProperty
【发布时间】:2021-04-22 19:02:05
【问题描述】:

我在 API Controller 中有一个 [HttpPost] 函数,它有这个定义:

public async Task<IActionResult> Test([FromBody] TestData testData)

我尝试在我的类 TestData [JsonProperty("")]、[JsonPropertyName("")]、[JsonObject] 中使用许多属性注释。 我使用了库——Newtonsoft.Json 和 System.Text.Json.Serialization。但 testData 始终包含 null。当我放置具有相同名称的属性时,API 起作用。所以我希望,我的配置中缺少一些东西。 我什至尝试添加 services.AddControllersWithViews().AddNewtonsoftJson() 。没有改变。 它是如何在 .Net 5 中工作的?

【问题讨论】:

  • 嗨@Mrnin,请分享您的模型以及如何发布数据?
  • 嗨@jps,我已成功将我的数据发送到另一个 API。 Soo 我认为,我在手机上的 HttpPost 进程可以正常工作。你认为,如果我在我的属性上使用 [JsonPropertyName("")],那么所有东西都应该自动工作而无需额外的更改?

标签: api .net-core


【解决方案1】:

@jps

public class TestData
    {
        [JsonIgnore]
        public int Id { get; set; }

        [JsonIgnore]
        public string UserId { get; set; }

        [JsonPropertyName("test_number")]
        public long Number { get; set; }

        ...
   }
  • 当我在 http://.../Test 上发布正文 {"test_number":"123456"} 时。我看到 testData.Number = null
  • 我觉得,JsonPropertyName 仅适用于 Serialization ,不适用于 反序列化

【讨论】:

    【解决方案2】:

    已解决,Docker 出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 2021-05-12
      • 1970-01-01
      相关资源
      最近更新 更多