public class WebApiApplication : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional }
);
}
}
[RoutePrefix("v1/controller")]
public class TestController : ApiController
{
[Route("client")]
[HttpPut]
public HttpResponseMessage CreateClient([FromUri] string id)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
[Route("portfolio")]
[HttpPost]
public IResponseItem<int> CreatePortfolio([FromUri] string id)
{
return new ResponseItem<int>
{
StatusCode = HttpStatusCode.Created,
Message = "Portfolio successfully created",
Item = 12
};
}
}
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "WebAPI");
})
.EnableSwaggerUi(c =>
{
});
}
}
我是新手所以我可能错过了什么
首先,您似乎在RoutePrefix部分犯了一个错误。如果您的意思是定义v1/controller
以在路径中动态地使用控制器的名称,那么应该将[]围绕在它周围,如下所示:
[RoutePrefix("v1/[Controller]")]
关于注册的事。您需要从代码中删除{}。您的代码应该如下所示:
GlobalConfiguration.Configuration
.EnableSwagger(c =>c.SingleApiVersion("v1", "WebAPI"))
.EnableSwaggerUi();
我建议将swagger直接注册到application_start()
部分。您的最终代码应该如下所示:
public class WebApiApplication : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configuration
.EnableSwagger(c => c.SingleApiVersion("v1", "title of your api"))
.EnableSwaggerUi();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
我们在我们的泽西应用程序中使用了@Role允许注释来限制用户对应用编程接口某些部分的访问。我们如何在SwaggerUI中显示这些信息? 到目前为止,我已经用@ApiOperation注释了方法以显示in/out参数,并尝试使用@Authorization/@AuthorizationScope,但我只为我们不使用的oauth2显示了它。最接近out case的是ApiKeyAuthDefiniti
我有这个控制器和操作方法: 下面是模型: 我需要使用<code>Location</code>作为URL中的查询参数名称,以便按预期到达endpoint。 例如< code > http://localhost/API/Appointment/Company/available slots?位置=SYD 然而,当我查看Swagger页面时,该参数被称为<code>Model。位置,这让我的API的
我们有一个。NET解决方案,有两个项目: null 当将Swagger UI添加到API项目(不是首选解决方案)时,它根本不起作用,可能是因为自定义控制器选择器 然而,我认为我遗漏了一些明显的东西,因为这感觉像是我们遗漏的一个非常基本的配置设置
有没有人用spring-data-rest配置了swagger。我知道swagger有DocumentationConfig类,它扫描所有spring-mvc请求映射。但是,如何将其用于spring-data-rest,因为没有定义显式的请求映射。非常感谢在这方面的任何帮助。此外,我还想知道,是否有其他支持Spring-Data-REST的文档框架。
我成功地在Spring boot应用程序上应用了swagger ui,并能够使用http://localhost:8181/swagger-用户界面。html 过了一段时间,我继续写我的申请,现在它不见了。我没有拿走任何罐子。我添加了一个应用程序启动类,当我在Wildfly 10上部署时,该类用于在启动时加载一些东西。 即使我尝试用tomcat将其作为Spring boot应用程序运行,也无法运行
我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }