gpt4 book ai didi

asp.net-web-api2 - Web API 2中的多个参数

转载 作者:行者123 更新时间:2023-12-03 12:30:56 25 4
gpt4 key购买 nike

我想制作一个传递4个参数的Web API。

这是我的路线:

        config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{email}/{firstname}/{lastname}/{source}"
);

这是方法签名
public string GetId(string email, string firstname, string lastname, string source)

这是主叫网址
http://fakedomain.com/api/Contacts/GetId?email=user@domain.com&firstname=joe&lastname=shmoe&source=123

我收到404错误。

如果我在路由配置中将每个参数设置为可选,并使用默认值设置每个参数,则会调用该参数。但是,每个参数都获取默认值,而不是传递的值。

我感觉自己接近了,我想念什么?

最佳答案

确保您在WebApiConfig.cs文件中具有默认的api路由设置。

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services

// Web API routes
config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

config.Routes.MapHttpRoute(
name: "ContactApi",
routeTemplate: "api/{controller}/{email}/{firstname}/{lastname}/{source}"
);
}
}

http://fakedomain.com/api/Contacts/GetId?email=user@domain.com&firstname=joe&lastname=shmoe&source=123

注意:我用localhost替换了法域,它可以工作...(localhost/api/Contacts/GetId?email=user@domain.com&firstname=joe&lastname=shmoe&source=123)

关于asp.net-web-api2 - Web API 2中的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25161665/

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