首页 > 解决方案 > 根据权限从 Web API 返回属性?

问题描述

假设我有一个将从端点返回的模型:

public class Employee
{
    public string Name { get; set; }
    public string Title { get; set; }
    public decimal Salary { get; set; }
}

我如何根据 API 密钥上的某些标准来做到这一点,我可能会或可能不会显示薪水?

[HttpGet]
public async Task<HttpResponseMessage> GetEmployee(int id)
{
    if (permissions["api_key"].isAdmin = true) { 
        //include Salary
        return Request.CreateResponse(HttpStatusCode.OK, await Employees.getEmployee(id));
    } else {
       //don't include salary
       return Request.CreateResponse(HttpStatusCode.OK, await Employees.getEmployee(id));
    }
}

标签: c#jsonapi

解决方案


Employees.getEmployee(id, isAdmin)a)仅当(isAdmin)时才添加参数并调用并填写薪水?

b) 添加到 Employee 类public bool ShouldSerializeSalary() => Salary!=0;(或其他逻辑),参见


推荐阅读