gpt4 book ai didi

mysql - 在 Web api 中使用日期时间

转载 作者:行者123 更新时间:2023-11-29 18:20:05 25 4
gpt4 key购买 nike

我使用 MySQL 数据库创建了一个 WEB API。该表包含有关仪表序列号、信号强度值以及信号强度出现的日期时间的数据。现在我通过发送仪表的序列号成功获取数据。

现在我也向它发送日期时间参数。但这对我不起作用。以下是我所做的。

public HttpResponseMessage GetByMsn(string msn, DateTime dt)
{
try
{
return Request.CreateResponse(HttpStatusCode.Found, medEntitites.tj_xhqd.Where(m=> m.msn == msn).Where(a=> a.date_time < dt ));
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
}
}

WebApiConfig 文件包含

config.Routes.MapHttpRoute(
name: "GetByMsn",
routeTemplate: "api/{controller}/{action}/{msn}/{dt}",
defaults: null,
constraints: new { msn = @"^[0-9]+$" , dt = @"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$" }
);

之后,我传递如下 URL:http://localhost:14909/api/meters/GetByMsn/000029000033/2017-10-06T07:52:27

我收到的错误是从客户端检测到潜在危险的Request.Path值(:)。

为此我也搜索过解决方案,但找不到正确的解决方案。另外,我已经替换了日期时间中的 : 但它仍然不适合我

更新1

虽然仅传递日期2017-10-06,它对我有用,但当我将其与时间一起附加时,它不起作用

为了快速检查,我检查了这个 question但我仍然无法解决该问题。

我一定错过了一些我不知道的东西

任何帮助将不胜感激。

最佳答案

经过一番查找,终于找到了解决办法。

我已经更改了 Web.config 中预定义的禁止/无效字符。在 下,添加了以下内容:<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,%,&amp;,*,\,?" />.我已经删除了:来自无效字符的标准列表。

有关更多信息,请参阅此 solution

关于mysql - 在 Web api 中使用日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660261/

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