FromUrl 模型的自定义属性名称

时间:2021-08-01 09:12:53

标签: c# asp.net asp.net-web-api

我有一个用于绑定 QueryString 的模型,它遵循 c# 的命名对话,但 QueryString 位于不同的命名对话中。如何为通过 import copy class Parent: def __init__(self, data, params, **kwargs): self.data = data self.params = params def new_data_instance(self, new_data): new = copy.deepcopy(self.__dict__) new['data'] = new_data return self.__class__(**new) class Child(Parent): def __init__(self, data, params, other_params, **kwargs): super(Child, self).__init__(data, params) self.other_params = other_params 分配的模型属性提供自定义属性名称?

FromUrl

2 个答案:

答案 0 :(得分:0)

如果您想从 URL 中获取这样的字段,我建议使用 [FromQuery] 属性,如下所示:

public async Task<HttpResponseMessage> Get([FromQuery] FormatDatabaseRequest data)

那么,这样的网址

https://localhost:43521/myControllerName?type=asdfa&awefflag=asdf

将被正确解析为您的对象:)

答案 1 :(得分:0)

json 与查询字符串无关。我不明白你为什么不喜欢下划线属性,但你可以像这样隐藏它们

public class FormatBaseRequest
{
    public string _Type { get; set; }
    public string Awef_flag{ get; set; }
} 
public class FormatDatabaseRequest:FormatBaseRequest
{
   
    public string Type 
    { 
        get { return _Type; }
       set { _Type=value ; } //or leave just get
    }

   
    public string AwefFlag 
   { 
       get { return Awef_flag; }
       set { Awef_flag=value ; } //or leave just get
    }
}

您可以将它用于查询字符串和 C#