gpt4 book ai didi

c# - 休息 API : Passing Colon (:) in url using attribute Routing doesn't work

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:42 24 4
gpt4 key购买 nike

我正在使用 swagger ui 来测试 POST 方法。我在 URL 中传递参数,但它不起作用。
大摇大摆的用户界面:

I enter this
Date: 2017-03-03T12:12:12
this is how it goes in
url: https://servername/Results/2017-03-03T12%3A12%3A12


这行不通。它返回 404 错误

但是当我只传递它有效的日期时。

Date: 2017-03-03

我的方法:

[Route("{Results/{date}"), HttpPost]
public Common.CallDetails StartTCISCall(DateTime date)

我也试过这个,但它甚至没有将它作为字符串捕获。

[Route("{Results/{*date}"), HttpPost]
public Common.CallDetails StartTCISCall(string date)

我一去掉冒号,它就开始工作了。我能做什么?

此外,对于我的 friend 来说,它可以在本地 VS 上运行,但是当他发布到 IIS 时它不起作用,我们尝试了 3 个不同的服务器。这是为什么?

非常感谢,请帮忙。

最佳答案

首先,编码的 URL 似乎只在 ? 之后才有效。对于全局变量,根据此:URL encoding .所以它不适用于 c# 中的路由。

对于问号后的编码字符串,你必须像这样解码字符串:

string result = Server.UrlDecode(date);

您的 URL 应该像这样构建:

https://servername/Results?2017-03-03T12%3A12%3A12

关于c# - 休息 API : Passing Colon (:) in url using attribute Routing doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43134007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com