1

我正在使用 ServiceStack 并有这样的路线:

[Route("/hello/{Name*}")]

所以/hello/some/parameters应该处理任何类似的事情。
Swagger 使用以下 url:/hello/{Name*}无论我为 Name 参数提供什么值,当我点击“试用按钮”时,我都会收到以下消息:从客户端检索到的潜在危险客户端值 Request.Path (*)。

请注意,我正在使用以下 ApiMember 属性:

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

我输入的任何文本仍然被 * 覆盖,并且出现上述错误。

有什么解决方法吗?

4

1 回答 1

3

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

像下面这样的东西应该让文本框出现。有关示例,请参见https://github.com/ServiceStack/ServiceStack.UseCases/tree/master/SwaggerHelloWorld

public class Hello {
  [ApiMember(Name=”Name*”, Description = “Name Description”, ParameterType = “path”, DataType = “string”, IsRequired = true)] 
   public string Name {get; set; }
}
于 2013-02-20T00:08:40.593 回答