我正在尝试使用 swagger npm 包在我的节点应用程序之上设置 swagger。我的终点和招摇设置完美(至少几乎完美),我确实对出了什么问题进行了大量研究,但我找不到踪迹。我的招摇设置文件:
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const swaggerJSDoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');
const abc= require('./routes/abc');
var app = express();
const swaggerDefinition = {
info: {
title: 'Analytics Project',
version: '1.0.0',
description: 'Analytics API swagger documentation'
}
};
const options = {
swaggerDefinition,
apis: ['./routes/abc.js']
};
const swaggerSpec = swaggerJSDoc(options);
var api = require('./routes/abc');
app.use('/', api);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use('/api/v1/abc', abc); …Run Code Online (Sandbox Code Playgroud) 我有一个django rest后端应用程序,我用招摇工具向FE查找和记录我的api。
这个工作正常,但是我进行了一些更改,现在出现此错误:
Internal Server Error: /
Traceback (most recent call last):
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/rest_framework/views.py", line 497, in dispatch
response = self.handle_exception(exc)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/rest_framework/views.py", line 457, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/notsoshabby/.local/share/virtualenvs/panda_pitch-UBt5SNMA/lib/python3.7/site-packages/rest_framework/views.py", line …Run Code Online (Sandbox Code Playgroud) 我正在运行ASP WebAPI 2并成功安装了Swashbuckle.我试图弄清楚如何定义默认架构值是什么?
例如,在Swagger现场演示站点上,他们将pet的默认值更改为"doggie".他们还定义了状态的允许值.(现场演示)

任何关于如何将swagger,swagger-ui与sails js项目集成的想法?
我在哪里可以找到有关它的信息,或者关于用帆来评论api的另一种方式?
谢谢!
当我构建我的swagger.json文件时,我不知道要使用哪个主机.但是,当我托管swaggerui的页面加载时,我可以解决它(实际上我可能想为用户提供一个选择).我希望在swaggerUI对象的配置上看到一个options.host - 我没看到一个.有没有现成的方法,我无法找到或做我只需要破解我的方式通过代码并添加此功能(指向最好的地方,这将是受欢迎的)
我目前部署了一个招摇项目,但我无法添加一些基本授权.当你点击"试试看!"时是当前的.按钮您需要登录帐户才能访问结果.我有一个帐户,我想每次有人试图访问api时自动使用.Bellow是我项目的index.html:
<!DOCTYPE html>
<html>
<head>
<title>Swagger UI</title>
<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='css/screen.css' media='print' rel='stylesheet' type='text/css'/>
<script src='lib/jquery-1.8.3.js' type='text/javascript'></script>
<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
<script src='lib/handlebars-1.0.rc.1.js' type='text/javascript'></script>
<script src='lib/underscore-min.js' type='text/javascript'></script>
<script src='lib/backbone-min.js' type='text/javascript'></script>
<script src='lib/swagger.js' type='text/javascript'></script>
<script src='lib/swagger-ui.js' type='text/javascript'></script>
<script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>
<script type="text/javascript">
$(function () {
window.swaggerUi = new SwaggerUi({
discoveryUrl:"https://localhost:8080/AssistAPI/api-docs.json",
apiKey:"",
dom_id:"swagger-ui-container",
supportHeaderParams: true,
supportedSubmitMethods: ['get', 'post', 'put'],
onComplete: function(swaggerApi, swaggerUi){
if(console) {
console.log("Loaded SwaggerUI")
console.log(swaggerApi);
console.log(swaggerUi);
}
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
}, …Run Code Online (Sandbox Code Playgroud) 我创建了一个新的Web Api项目,添加了Asp.Net Identity并配置了OAuth,如下所示:
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
Run Code Online (Sandbox Code Playgroud)
这一切都很好,我可以调用/ Token端点并获得一个持有者令牌.
问题是,在Swagger中我无法发现这一点,因为它不在控制器上,因此没有为它生成xml文档.
有谁知道在我的Swagger文档中显示此登录端点的方法?
谢谢.
另外,我应该说Swagger文档正在与我的所有控制器一起工作,这只是我错过了一个明显的方法 - 如何登录.
我在Swagger规范中有一个其他定义的枚举:
"action": {
"title": "Action",
"description": "Action to apply to matching requests",
"type": "object",
"enum": [
{"delayAction": {"$ref": "#/definitions/delayAction"}},
{"abortAction": {"$ref": "#/definitions/abortAction"}},
{"traceAction": {"$ref": "#/definitions/traceAction"}}
]
}
Run Code Online (Sandbox Code Playgroud)
并且delayAction,abortAction和traceAction都被定义.
但是在Swagger UI中,模型action是空的.
如何修改我的Swagger定义,以便Swagger UI可以显示action模型中的定义?
我搜索了添加请求标头参数的可能方法,该参数将自动添加到我的每个方法中,web-api但我找不到清楚的方法.
在搜索时我发现该方法OperationFilter()必须对此做些什么.
我读过以下主题: 使用Spring MVC禁用Swagger
我写道:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.project.name.controller"))
.paths(PathSelectors.ant("/api/**"))
.build()
.apiInfo(apiInfo())
.enable(false);
}
Run Code Online (Sandbox Code Playgroud)
但如果我试图访问swagger ui:localhost:8080/swagger-ui.html
我明白了

看起来不准确.我可以完全禁用此网址吗?例如404或类似的东西.
swagger-ui ×10
swagger ×7
c# ×1
django ×1
java ×1
sails.js ×1
spring ×1
spring-boot ×1
swagger-2.0 ×1
swashbuckle ×1