zoukankan      html  css  js  c++  java
  • ASP.NET Core 3.x RESTful API学习记录--获取父子关系资源

        //获取父子资源关系实例 要在路由上表示出来父子关系
       [ApiController]
        [Route("api/companies/{companyId}/employees")]
        public class EmployeesController : ControllerBase
        {
            private readonly IMapper _mapper;
            private readonly ICompanyRepository _companyRepository;
    
            public EmployeesController(IMapper mapper, ICompanyRepository companyRepository)
            {
                _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
                _companyRepository = companyRepository ?? throw new ArgumentNullException(nameof(companyRepository));
            }
    
            [HttpGet]
            public async Task<ActionResult<IEnumerable<EmployeeDto>>>
                GetEmployeesForCompany(Guid companyId,
                    [FromQuery] EmployeeDtoParameters parameters)
            {
                if (!await _companyRepository.CompanyExistsAsync(companyId))
                {
                    return NotFound();
                }
    
                var employees = await _companyRepository
                    .GetEmployeesAsync(companyId, parameters);
    
                var employeeDtos = _mapper.Map<IEnumerable<EmployeeDto>>(employees);
    
                return Ok(employeeDtos);
            }
    
            [HttpGet("{employeeId}"]
            public async Task<ActionResult<EmployeeDto>>
                GetEmployeeForCompany(Guid companyId, Guid employeeId)
            {
                if (!await _companyRepository.CompanyExistsAsync(companyId))
                {
                    return NotFound();
                }
    
                var employee = await _companyRepository.GetEmployeeAsync(companyId, employeeId);
                if (employee == null)
                {
                    return NotFound();
                }
    
                var employeeDto = _mapper.Map<EmployeeDto>(employee);
    
                return Ok(employeeDto);
            }

    知识来源草根专栏 感谢杨旭大佬

  • 相关阅读:
    布署脚本
    HTTP请求报文支持的各种方法
    robot framework学习笔记之六—自动变量
    robot framework接口测试之二-四种常见的POST提交数据方式
    自定义过滤器-时间转化器
    自定义过滤器-有参数
    自定义过滤器-没有参数
    过滤器-orderBy
    过滤器-limitBy
    过滤器-filterBy
  • 原文地址:https://www.cnblogs.com/cqqinjie/p/13370487.html
Copyright © 2011-2022 走看看