【发布时间】:2019-06-12 14:42:11
【问题描述】:
我有 .net core 2.1 Web Api 项目。我正在发送GET 请求,如下所示。我正在通过邮递员发送“10.12.2019”。但我从控制器那里得到“12.10.2019”。 POST 请求中存在此问题。我通过将以下代码添加到Startup.cs 来修复。但是,问题在GET 请求中继续存在。我该如何解决 GET 请求?
MyController.cs
[HttpGet]
public void MyGetMethod(DateTime myDate)
{ }
我的网址
http://localhost:5012/api/MyController/MyGetMethod?myDate=10.12.2019
我的 Startup.cs
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.Culture = new CultureInfo("tr-TR");
});
///////////////////////////////
var defaultCulture = new CultureInfo("tr-TR");
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(defaultCulture),
SupportedCultures = new List<CultureInfo> { defaultCulture },
SupportedUICultures = new List<CultureInfo> { defaultCulture }
});
【问题讨论】:
-
并不是说它本身就是这个特定问题的解决方案,但我会接受一个字符串作为输入,然后使用来自 GET 请求的该字符串输入创建一个
DateTime.TryParse。更像是一种解决方法,但这是我的建议。这将允许您定位您想要的确切格式。 -
我不想作为字符串。因为,在那种情况下,我必须在任何地方进行日期时间解析。所以,我想修复我的本地化。但是,我不明白这个错误的原因。 @jwweiler
标签: c# asp.net-core-webapi asp.net-core-2.1