我有一个使用. NET 6 Web API的应用程序。一旦用户登录到应用程序,关于该用户的基于小上下文的信息被附加到查询参数。
API中AuthPolicy的一部分是,当调用endpoint时,这些查询参数必须存在,即使该endpoint没有使用它们。
例如,此 SaveClient
终结点具有在请求正文中传递的实际输入,但 AuthPolicy 要求查询参数存在,即使未使用它也是如此。
有效EX:SaveClient?客户端Id=1
无效的EX: SaveClient
有没有办法让Swagger将查询参数硬编码到它的请求URL?
我发现可以扩展< code>IOperationFilter,它的< code>Apply方法可以向每个endpoint添加参数。
public class ClientFilter : IOperationFilter
{
public void Apply(OpenApiOperation operation, OperationFilterContext context)
{
if (operation.Parameters is null)
{
operation.Parameters = new List<OpenApiParameter>();
}
if (!operation.Parameters.Any(x => x.Name.Equals("clientId", StringComparison.OrdinalIgnoreCase)))
{
operation.Parameters.Add(new OpenApiParameter()
{
Name = "clientId"
In = ParameterLocation.Query,
Description = "ClientId Parameter",
Required = true,
};
}
}
}
从这里,您可以在Startup.cs
中添加此OperationFilter:
services.AddSwaggerGen(c =>
{
c.OperationFilter<ClientFilter>();
}
要使用API,用户需要进行身份验证,一个SESSIONID cookie被添加到他的浏览器中,该cookie将用于请求sessionToken查询参数。 我怎样才能告诉 Swagger 每个请求都需要一个会话令牌查询参数?我可以添加全局查询参数吗?
问题内容: 我需要向Retrofit 2.0.0-beta2库发出的每个请求添加查询参数。我为Retrofit 1.9 找到了此解决方案,但是如何添加最新的库版本? 我的界面: 客户: 问题答案: 为了完整起见,以下是完整的代码,您需要使用OkHttp-Interceptor向每个Retrofit 2.x请求中添加参数:
我已经从其中一个服务复制了swagger.json文件,并想将其导入到Postman collection中
我用的是Jooq3.10。我想为每个选择、更新和删除查询添加具有动态值的默认条件。 例1: 我如何做到这一点?
本文向大家介绍java swagger ui 添加header请求头参数的方法,包括了java swagger ui 添加header请求头参数的方法的使用技巧和注意事项,需要的朋友参考一下 我用到的swagger 主要有三款产品,swagger editor,swagger ui 和swagger codegen。 swagger editor:主要是一个本地客户端,用来自己添加api,自己来测
我有以下配置: 我找到了解决方法——用以下方法标记每个独立endpoint: 但我不喜欢做这种重复的工作。 是否有一种方法可以使每个其他端都实现全球化?