servicestack 带有招摇器的服务堆栈通配符路径,servicestack,swagger,servicestack,Swagger" /> servicestack 带有招摇器的服务堆栈通配符路径,servicestack,swagger,servicestack,Swagger" />

servicestack 带有招摇器的服务堆栈通配符路径

servicestack 带有招摇器的服务堆栈通配符路径,servicestack,swagger,servicestack,Swagger,我正在使用ServiceStack,其路由如下: [Route("/hello/{Name*}")] 所以像/hello/some/parameters这样的事情都应该处理。 Swagger使用以下url:/hello/{Name*},无论我为Name参数提供了什么值,当我点击“试用”按钮时,我都会收到以下消息: 潜在危险的客户端值请求。从客户端(*)检索到的路径 注意,我使用的是以下ApiMember属性: [ApiMember(Name=“Params”,DataType=“string”

我正在使用ServiceStack,其路由如下:

[Route("/hello/{Name*}")]
所以像
/hello/some/parameters
这样的事情都应该处理。
Swagger使用以下url:
/hello/{Name*}
,无论我为Name参数提供了什么值,当我点击“试用”按钮时,我都会收到以下消息: 潜在危险的客户端值请求。从客户端(*)检索到的路径

注意,我使用的是以下ApiMember属性:

[ApiMember(Name=“Params”,DataType=“string”,ParameterType=“path”,IsRequired=true)]

而且我输入的任何文本都会被*覆盖,我的错误如上所述


有什么解决方法吗?

首先,发生错误是因为Swagger调用在路径/请求中使用了默认值{Name*}。URL路径中不允许使用(*)。 通过在ServiceStack类中使用正确的属性,您应该能够获得一个文本框,在Swagger UI中输入您自己的值

下面的内容应该会显示文本框。有关示例,请参见

public class Hello {
  [ApiMember(Name=”Name*”, Description = “Name Description”, ParameterType = “path”, DataType = “string”, IsRequired = true)] 
   public string Name {get; set; }
}

起初我做了同样的事情,是的,它不起作用。我将更新问题以使其清晰。请尝试在ApiMember属性中添加Name=“Name*”。我更新了我的答案以反映这一变化。