这是我的要求:
public class GenerateTokenRequest
{
[AliasAs("code")]
public string Code { get; set; } = string.Empty;
[AliasAs("secret")]
public string Secret { get; set; } = string.Empty;
}
这是我的改装界面:
public interface IAuthServiceRefitApi
{
[Post("/token")]
Task<GenerateTokenResponse> GenerateTokenAsync(
[Query] GenerateTokenRequest command,
CancellationToken cancellationToken = default);
}
这个方法被调用,然后它创建一个像这样的 URL :
https://some-url.com/oauth/token?code=SOME_CODE&secret=SOME_SECRET
我想在日志中用 *** 掩盖秘密值和代码。
对于属于主体一部分的属性,我使用了 PiiString 概念,然后添加了自定义委托处理程序。
但是对于作为查询参数成为 URL 一部分的属性,我无法做到这一点。
关于我应该如何实现这一目标有什么建议吗?
您必须像这样直接在方法中传递变量:
public interface IAuthServiceRefitApi
{
[Post("/token")]
Task<GenerateTokenResponse> GenerateTokenAsync(string code, string secret, CancellationToken cancellationToken = default);
}
使用上面的代码,您的网址将是这样的:
https://some-url.com/oauth/token?code=SOME_CODE&secret=SOME_SECRET
注意:根据您现有的代码,您必须使用 https://some-url.com/oauth/token URL 传递 JSON 正文。