以下是技术背景: WebApi、.NET、Core2.2和Angular
以下是业务上下文:在角度应用程序上,管理员用户可以打开一个特定的进程:例如,“更改地址”或“更改银行帐户”。所有这些操作都创建了一个“流程”(如工作流)。
当用户通过任务管理处理请求时,他将拥有不同的屏幕,需要填写不同的数据,并且可以部分或完整地保存数据。
在api上,我希望有一条获得“正在进行的”数据的单一路径:
api/process/{id}/data例如,如果进程是"ChangeAddress",我将返回ChangeAddressDataModel,如果进程是"ChangeBankAccount“,则返回ChangeBankAccountDataModel。
[HttpGet("process/{id}/data")]
public IActionResult GetProcessData()
{
if(condition)
{
return Ok(changeBankAccountModel);
}
else if(conditon)
{
return Ok(changeAddressModel);
}
}角锥开发,可以得到工艺的类型和铸造模型。
我的问题是:休息吗?我们能在好的会议上这样做吗?
如果不是,我是否应该为每种类型的流程创建一条路径?比如:
[HttpGet("process/{id}/change-address-data")] // return NoContent or NotFound if its a ChangeBankAccount process or something else
[HttpGet("process/{id}/change-bank-account-data")]信息:我们将有20+处理类型。
谢谢
发布于 2021-01-20 22:59:12
必须将输出转换为要返回的对象。
[HttpGet("process/{id}/data")]
public IActionResult GetProcessData()
{
if(condition)
{
//youe operations...
}
else if(conditon)
{
//youe operations...
}
return Ok<ClassName>(result);
}在asp.net mvc中,您必须设置这个文件。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}在文件Global.asax.cs中:
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}https://stackoverflow.com/questions/65817984
复制相似问题