繁体   English   中英

在 ASP.NET Core 中获取路由结果

[英]Get route result in ASP.NET Core

我正在开发一个 ASP.NET Coe Web API 项目。

我有一个post方法(路由),我需要它来调用另一个get方法:

[HttpGet(Name = "Profile")]
public async Task<ActionResult<ProfileResponseDto>> GetProfile(string username)

如果我打电话:

return RedirectToRoute("Profile", new { username = profile.UserName });

我最终会Get资源。

但我想要的是获取该Get方法的结果并继续我的 post 方法。

在 Python 中,它类似于

amount = requests.get("http://"+catalogIpAddress+":"+port+"/count/" + str(id))

HttpResponse.RedirectToRoute 方法 使用路由参数值、路由名称或两者将请求重定向到新 URL 这意味着您无法继续使用上一个 URL

HttpResponse.RedirectToRoute 方法

但是您可以从另一个动作结果中返回值,例如

var result = await controller.GetTodosAsync();

所以你可以这样使用:

        [HttpGet(Name = "Profile")]
        public async Task<string> GetProfile(string username)
        {
           return await Task.Run(()=> "hello") ;
        }

        [HttpPost(Name = "Profile")]
        public async Task<string> PostProfile(string username)
        {
            string result = await this.GetProfile(username);

            result = result + " from post";
            return await Task.Run(() => result);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM