我有一种根据3个条件进行搜索的方法:
我为此搜索创建的API方法目前看起来像这样:
[Route("A={author};T={title};K={keywords}")]
[ResponseType(typeof(bool))]
public HttpResponseMessage Get(string author, string title, string keywords)
{
//Code for search
}
当所有3个参数都传递时,该方法可以很好地工作。但是,如果我只是输入一个作者而不是不是标题或关键字,则会收到一个Not Found
错误。
是否有一种方法可以修改路由,以允许在1个或多个参数为空/空字符串时使用?
答案 0 :(得分:0)
在Route
字符串中未提及的任何参数在作为URL查询字符串的一部分发送时将被映射。例如:
http://www.yourapi.com/path/to/endpoint?author=DouglasAdams&keywords=Hitchhiker
如果使用author = "DouglasAdams"
,则将使用title = null
,keywords = "Hitchhiker"
和Route("path/to/endpoint")
调用您的方法。