[英]Controller Query Parameter (not in action)
我正在尝试制作一个类似于 OPENBANKPROJECT 的 api。 比如/api/banks/{BANK_ID}/atms/{ATM_ID}
等我猜banks
和atm
是不同的控制器
我想在[action]
初始化之前(可能在构造函数中)获得一个全局( api/Claim/{id}/Detail/[action]
我需要这个 {id})参数。
我如何在[action]
初始化之前获得这个{id}
?
[Route("api/Claim/{id}/Detail/[action]")]
public class ClaimDetailController
{
int _id; // assignment {id}
public ClaimDetailController(IClaimDetailService claimDetailService)
{
`Need Query Id before execute action`
}
[HttpPost]
public async Task<BaseResponse> ClaimDetailInfoPolicy(ClaimDetailKeyModel model)
{
return `codes with _id`;
}
}
public class ClaimDetailKeyModel
{
public long FileNo { get; set; }
public long RecourseNo { get; set; }
}
解决方案很简单:)
[ApiController]
[Route("api/Claim/{claimId}/Detail/[action]/")]
public class ClaimDetailController
{
[FromRoute(Name = "claimId")]
public int Id { get; set; }
public ClaimDetailController(IClaimDetailService claimDetailService)
{
`bla bla`
}
[HttpPost]
public async Task<BaseResponse> ClaimDetailInfoPolicy(ClaimDetailKeyModel model)
{
return `codes with Id`
}
}
将此 ID 添加到您的请求处理程序。
[HttpPost]
public async Task<BaseResponse> ClaimDetailInfoPolicy(int id, ClaimDetailKeyModel model)
{
return `codes`;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.