控制器查询参数(不起作用) [英] Controller Query Parameter (not in action)

查看:74
本文介绍了控制器查询参数(不起作用)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试制作一个像OPENBANKPROJECT这样的api.如/api/banks/{BANK_ID}/atms/{ATM_ID} 等.我猜 banks atm 是不同的控制器

I'm trying to make a api like the OPENBANKPROJECT. Such as /api/banks/{BANK_ID}/atms/{ATM_ID} etc. I guess banks and atm is a different controller

[action] 初始化之前,我想获取一个全局( api/Claim/{id}/Detail/[action] 我需要这个{id})参数(也许在构造函数中).

I want get a global (api/Claim/{id}/Detail/[action] i need this {id}) parameter before before [action] initialize (maybe in constructor).

如何在 [动作] 初始化之前获取此 {id} ?

How do i get this {id} before [action] initialize?

    [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`
    }
}

这篇关于控制器查询参数(不起作用)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆