将看起来像日期的DateTime或String类型作为参数传递给URL/(.net webapi)



得到一个名为Item的实体,该实体具有DateTime日期字段,该字段配置有数据注释Column(TypeName="Date")](只存储日期,不存储数据库的时间(。

在我的控制器中,我有一个GET方法,它应该返回一个结果列表。方法的parameter / url应该看起来像一个日期,但我想不需要是一个日期。

示例:www.localhost:port/16-3-2021

  1. 我使用DateTime作为参数还是使用String,哪个更容易/更好
  2. 如果参数是string,我如何将其正确解析为一个短日期(使用如上所述的格式(,这样我就可以说:

db.Items.Where(item=>item.Date==Date(

  1. 如果参数为DateTime,我如何配置路由以匹配给定格式(如上所述(

首先,整个方法在我看来是不正确的,而且使用实体框架似乎可以解决您的类型问题。回答您的问题:

  1. 您只能在url中使用string
  2. 如果我理解正确的话,您只需要一个方法就可以从Item类中获得string,如下所示
public class Item {
Date date { get; set; }
public dateToString()
{
return $"{this.date.Day}-{this.date.Month}-{this.date.Year}";
}
}
  1. 每次需要将date作为string传递时,只需使用dateToString,这样就不会丢失格式

最新更新