-
Notifications
You must be signed in to change notification settings - Fork 11
设置Header和QueryString
Henry edited this page Oct 11, 2019
·
1 revision
通过接口定义Webapi
需要考虑的情况比较多,如常见的就是请求Header
信息,在Post
提交的数据时对应的QueryString
不能混合到Body
等。为了解决这些问题组件提供了不同的一些属性标记来完成这方面的工作。
在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";
在GET
和DELETE
请求中,所有参数都会写入到Url
的QueryString
.当在POST
的情况如果需要参数写入QueryString
则需要标记上CQuery
,具体如下:
[Post]
Task<Employee> Modify([CQuery]int id, Employee body);