首页 > 解决方案 > 无法使用 Postman 调用 Asp.net Webapi 自定义方法

问题描述

我正在尝试在 webapi 类中调用自定义名称方法名称。我正在使用 Postman 和能够调用Get方法,但不是CusActivity方法。邮递员也没有抛出任何错误。

这里有什么问题?

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



public class CusActivityController : ApiController
{
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    [HttpPost]
    public string CusActivityInsert(string userToken, string masterCustomerId, string activityText)
    {

    }

}

在邮递员

http://localhost:52957/api/CusActivity/CusActivityInsert

{
"userToken": "userToken1",
"masterCustomerId": "3440214",
"activityText": "ID01-Membership."
}

标签: c#asp.net-web-apipostman

解决方案


您的 API 在配置中只有一个参数。

您需要将parameter您的操作 API 更改为

public string CusActivityInsert(UserToken item)
{

}

与班级

public class UserToken
{        
        public string userToken { get; set; }
        public string masterCustomerId { get; set; }
        public string activityText { get; set; }
}

如果要保留当前参数,请将 PostMan API URL 更改为

http://localhost:56433/api/CusActivity/CusActivityInsert?userToken=userToken1&masterCustomerId=3440214&activityText=ID01-Membership


推荐阅读