【发布时间】:2019-11-28 07:08:08
【问题描述】:
对不起,伙计们,这似乎是一个新手问题,但我以前从未使用过端点映射,而且似乎无法弄清楚。
所以我编写了一个侦听请求的服务,所述请求的主体包含一个 json 对象,我的服务需要它来正确处理请求。 虽然我知道如何将这些请求路由到适当的控制器,但我只是不知道我应该如何读取请求正文并将其传递给控制器。
Startup.cs
class Startup
{
private readonly IHostingEnvironment _env;
private readonly IConfiguration _config;
private readonly ILoggerFactory _loggerFactory;
public Startup(IHostingEnvironment env, IConfiguration config,
ILoggerFactory loggerFactory)
{
_env = env;
_config = config;
_loggerFactory = loggerFactory;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Classifier}/{action}");
});
}
}
控制器
public class ClassifierController : Controller
{
private Classifier documentClassifier = new Classifier();
public TrainingResponse Training(RequestTrainingData requestDataTrain)
{
return documentClassifier.Train(requestDataTrain);
}
public PredictionResponse Predict(RequestPredictionData requestDataPredict)
{
return documentClassifier.Predict(requestDataPredict);
}
}
如您所见,我期望 RequestPredictionData 或 RequestTrainingData 类型的对象:
请求预测数据
public class RequestPredictionData
{
public string Principal { get; set; }
public IEnumerable<PredictionInputDocument> Docs { get; set; }
}
RequestTrainingData
public class RequestTrainingData
{
public string Principal { get; set; }
public IEnumerable<TrainingDocument> Docs { get; set; }
}
抱歉,文字太长了,感谢任何花时间阅读我的问题的人^^'
【问题讨论】:
标签: c# request mapping endpoint