Skip to content

设置Header和QueryString

Henry edited this page Oct 11, 2019 · 1 revision

通过接口定义Webapi需要考虑的情况比较多,如常见的就是请求Header信息,在Post提交的数据时对应的QueryString不能混合到Body等。为了解决这些问题组件提供了不同的一些属性标记来完成这方面的工作。

Header

Webapi调用中很多时候需要在Header添加一些凭证信息,主要是确认请求用户的可靠性保障服务安全。组件提供了几种方式来设置Header具体如下:

  • 参数

    可以给参数添加CHeader属性,在这情况参数值会写入到CHeader

 Task<bool> Header([CHeader("user")]string user);
  • 接口或方法上标记

    如果Header的值是固定的,那同样可以采用CHeader属性标记在接口或方法上

[CHeader(Name ="user", Value ="admin")]
public interface INorthWind

或者

[CHeader(Name = "user", Value = "admin")]
Task<Employee> GetEmployee(int id);
  • 接口属性设置

组件会针对代理接口实现IHeaderHandler,通过些接口可以添加对应的Header

((IHeaderHandler)northwind).Header["user"] = "admin";

QueryString

GETDELETE请求中,所有参数都会写入到UrlQueryString.当在POST的情况如果需要参数写入QueryString则需要标记上CQuery,具体如下:

[Post]
Task<Employee> Modify([CQuery]int id, Employee body);