在控制器Web API Uri中找不到带有.json

时间:2018-10-26 07:20:14

标签: c# json rest api

我需要使用以下格式向Web API控制器运行REST查询请求:

http://path/name.json?foo.bar.text=aCertainValue

(我无法更改此格式,因为它取决于外部提供商)。

我的问题是我无法检索查询结果。

我在服务器代码(用C#编写)上尝试了以下选项:

[HttpGet]
[Route(Name = "name.json")]
public List<SpaceFound3rdParty> findRes([FromUri (Name = "foo.bar.text")] string text)
{...}

[HttpGet]
[Route("name.json")]
public List<SpaceFound3rdParty> findRes([FromUri (Name = "foo.bar.text")] string text)
{...}

没有一个成功。

如果我指定的名称没有点(即没有路径的名称),并且使用/?作为路径名称和资源名称之间的分隔符,则可以成功检索资源。但是,这不是一种选择(即使请求中只有一个资源,我也必须使用?

如何在维护请求的格式pathName?resourceName的同时修改C#服务器以检索资源?

1 个答案:

答案 0 :(得分:0)

在此处粘贴您的RouteConfig.cs。您正在使用属性路由,因此您可能需要通过调用MvcAttributeRoutes()文件中的此辅助函数'RouteConfig.cs'来注册这些操作。

希望它能解决!