Asp.net WebApi2默认路由找不到不同的命名api

本文关键字:api 找不到 net WebApi2 默认 路由 Asp | 更新日期: 2023-09-27 18:29:38

我有两个WebApi2操作,每个操作都很好:

[System.Web.Http.HttpPost]
public async Task<HttpResponseMessage> MigrateUser([FromBody] MigrateUserModel userInfo)

[System.Web.Http.HttpPost]
public async Task<HttpResponseMessage> ChangeEmail([FromBody] ChangeEmailModel model)

当它们都存在时,我会得到一个404错误。我必须做些什么才能使两个POST/更改电子邮件和/是否找到迁移用户?有没有一种方法可以在没有显式基于属性的路由的情况下做到这一点(可能是?)。

以下HttpGet工作正常,不需要Route()。。。

       [System.Web.Http.HttpGet]
    public async Task<TcMarketUserFullV1> GetIdmCtoUsrFromEmail(string email)

        [System.Web.Http.HttpGet]
    public async Task<TcMarketUserFullV1> GetIdmCtoUsrFromGuid(string ctoguid)

Asp.net WebApi2默认路由找不到不同的命名api

使用Route属性来区分每个操作。

[System.Web.Http.HttpPost,Route("migrate")]
public async Task<HttpResponseMessage> MigrateUser([FromBody] MigrateUserModel userInfo)

[System.Web.Http.HttpPost,Route("change")]
public async Task<HttpResponseMessage> ChangeEmail([FromBody] ChangeEmailModel model)