我正在使用ServiceStack并拥有这样的路线:
[Route("/hello/{Name*}")]
所以应该处理像/hello/some/parameters
这样的事情
Swagger使用以下网址:/hello/{Name*}
,无论我为Name参数提供什么值,当我点击“试用按钮”时,我会收到以下消息:
从客户端(*)检索的潜在危险客户端值Request.Path。
注意,我使用以下ApiMember属性:
[ApiMember(Name = "Params", DataType = "string", ParameterType = "path" , IsRequired = true)]
并且我输入的任何文本仍然用*覆盖,我有上述错误。
有没有解决方法呢?
答案 0 :(得分: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; }
}