【问题标题】:How to pass multiple parameter in blazor GetFromJsonAsync?如何在 blazor GetFromJsonAsync 中传递多个参数?
【发布时间】:2021-01-06 11:37:32
【问题描述】:

大家好,

如何在 blazor GetFromJsonAsync 中传递多个参数,使用此代码时出现错误。

blazor 网络程序集

data= await http.GetFromJsonAsync<dataobject[]>($"api/Sample/Get/{id}/{date}");

.net 核心接口

    [HttpGet("Get/{id}/{date}")]
    public ActionResult<List<dataobject>> Get(string id, string date)
    {
        
        
    }

【问题讨论】:

  • 据我所见,这似乎是正确的,您遇到的错误是什么?更详细地分享您的错误或问题
  • 这是我得到的错误。未处理的异常渲染组件:不支持提供的ContentType;支持的类型是“application/json”和结构化语法后缀“application/+json”。
  • 该 api 在使用 POSTMAN 时有效,但我无法使其在 blazor webassembly 中运行
  • 我现在明白了,我正在传递格式为 yyyy/MM/dd 的日期,只需将其更改为 yyyy-MM-dd。
  • 有关错误的解释,请参阅stackoverflow.com/a/63863447/60761

标签: .net-core blazor


【解决方案1】:

正如您在问题评论中提到的,您使用日期作为这种格式 yyyy/MM/dd,这意味着 / 被视为 URL 路径。所以你需要对你的日期进行 URL 编码,它会变成这样的yyyy%2FMM%2Fdd,现在可以安全地作为 URL 路径发送。

您可以使用HttpUtility.UrlEncode 进行 URL 编码。详情here

【讨论】:

    猜你喜欢
    • 2020-04-14
    • 2013-11-21
    • 2012-06-12
    • 1970-01-01
    • 2019-03-21
    • 2014-09-09
    • 2015-02-17
    • 2015-06-18
    相关资源
    最近更新 更多