我使用swagger-UI 2.1.3用于API文档,在后端,我使用的是spring-webmvc.
我有一个API返回一个pdf文件,如果我在浏览器中键入URL它会正常工作(弹出一个下载和下载文件工作正常)
但是同样的api在swagger ui中不起作用,它在点击"try out"后给了我一个下载链接,并且该链接下载了一个文件,但该文件显示了我的空白pdf页面(损坏的pdf文件).
响应标头如下
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: public
Expires: 0
Access-Control-Allow-Origin: *
Content-Description: File Transfer
Content-Transfer-Encoding: binary
Transfer-Encoding: chunked
Content-Disposition: attachment; filename="example.pdf"
Access-Control-Expose-Headers: Content-Description,Content-Disposition,location
Content-Type: application/pdf
Content-Length: 268288
Date: Mon, 04 Jan 2016 12:18:16 GMT
Run Code Online (Sandbox Code Playgroud)
围绕这个解决方案吗?
添加信息:
这个问题看起来很相似 - AngularJS:在角度应用程序中显示blob(.pdf)
在那里他们说在xhr中将responseType设置为arraybuffer,但我认为swaggar会照顾它(也许我需要设置一些配置??)
我正在为我的Web应用程序使用spring-data-mongodb(1.7.0.RELEASE)和spring-webmvc框架.我正在使用mongoRepository使用基本的CRUD函数,但我没有在我的代码中关闭mongo连接因为我认为spring-data-mongodb将自己关闭它,但它继续打开新连接而不是关闭它们.这些太多的连接都会导致我的应用程序崩溃,我必须一次又一次地重启tomcat(每天两次)才能解决这个问题.
注意:Spring Application和mongod在同一台服务器上.这是崩溃后的日志 -
2015-07-17T01:31:20.068-0400 I NETWORK [conn3645] end connection 127.0.0.1:55302 (2583 connections now open)
2015-07-17T01:31:20.071-0400 I NETWORK [conn1713] end connection 127.0.0.1:48174 (2352 connections now open)
2015-07-17T01:31:20.072-0400 I NETWORK [conn2250] end connection 127.0.0.1:51017 (2325 connections now open)
2015-07-17T01:31:20.072-0400 I NETWORK [conn2149] end connection 127.0.0.1:50670 (2320 connections now open)
Run Code Online (Sandbox Code Playgroud)
这是重启tomcat后的日志
2015-07-17T01:31:29.994-0400 I NETWORK [initandlisten] connection accepted from 127.0.0.1:53599 #3984 (1 connection now open)
2015-07-17T01:31:33.263-0400 I NETWORK [initandlisten] connection accepted from 127.0.0.1:53740 #3985 (2 connections now open)
2015-07-17T01:31:33.580-0400 I NETWORK [initandlisten] connection …Run Code Online (Sandbox Code Playgroud) 我有javascript对象如下:
var endpoints = {
User: {
endpoint: '/api/v1/users/%s',
subResources: {
profile: {
// IN BELOW LINE I WANT TO ACCESS PARENT OBJECT'S Property
endpoint: endpoints.User.endpoint + '/profile'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这个对象有一个名为'User'的对象,它有一个名为endpointi的属性,想要在它调用的子对象中访问这个属性subResources.endpoint.