有没有一种方法可以从方法中获取响应而无需使用控制器。我的意思是,为了从数据库中获取租户,我使用属性绑定,并从“ http://localhost:5000/api/tenants”获取属性。有没有一种方法可以不使用控制器(如服务)来检索值?例如在angular中,我使用httpclient获取响应。 .netcore 2 webapi中有类似的东西吗?谢谢你!
答案 0 :(得分:0)
对于Controller
,它使用UseMvc middleware
将请求路由到控制器。
如果您不使用控制器,则可以尝试使用定制中间件直接根据请求路径返回数据。
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
//your config
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//your config
app.Map("/tenants", map => {
map.Run(async context => {
var dbContext = context.RequestServices.GetRequiredService<MVCProContext>();
var tenants = await dbContext.Users.ToListAsync();
await context.Response.WriteAsync(JsonConvert.SerializeObject(tenants));
});
});
app.Run(async context => {
await context.Response.WriteAsync($"Default response");
});
}
}