提问人:Jmartinez 提问时间:11/6/2022 最后编辑:Jmartinez 更新时间:11/7/2022 访问量:184
在 C# WebApi 中修改 RequestUri
Modify RequestUri in C# WebApi
问:
我有一个 ASp.Net WebApi,我添加了 DelegatingHandler 来修改 requestUri。
我尝试了一些没有结果的例子,有可能吗?
我想加密 URL 的(客户端)解密 (WebApi) 部分。
在 WebApi 中,存在具有以下路由的控制器:
api/employee/getInfo/{name}/{lastname}/{date}
从我的 Web 客户端,我对 URL 执行 GET: http://localhost/api/employee/getInfo/jhon/smith/010525
在客户端拦截器中,我加密了 URL 的最后一部分(示例为 base64) http://localhost/api/employee/getInfo/amhvbi9zbWl0aC8wMTA1MjU=
然后在 DelegatingHandler 的 SendAsync 中,我想要的是将最后一部分解密到 还原到 webapi 的原始 URL 执行正确的 webapi 函数。
谢谢。
答:
我做了下一个:
我向控制器添加了一条额外的路由 [路由(“api/employee/getInfo/{payload}”)] 在 webapi 中
在客户端侦听器中更改原始调用 http://localhost/api/employee/getInfo/jhon/smith/010525 自 http://localhost/api/employee/getInfo/EncryptedInfo
最后在 DelegatingHandler 中
解密并转换为 QueryString http://localhost/api/employee/getInfo?name=jhon&lastname=smith&date=010525
我不知道这是否是正确的方法,但目前正在起作用。 如果有人有更好和正确的解决方案,请分享。
谢谢。
评论