小编Hun*_*nsu的帖子

如何让Swagger将API密钥作为http而不是URL发送

我正在使用swagger与servicestack,但我从我的/资源URL获得401未经授权的错误,因为它需要一个API密钥.

除非我记错了,根据文档我应该设置supportHeaderParams为真还有apiKeyNameapiKey从我的html页面初始化时扬鞭值在JSON参数.

我当时希望在http请求标头中看到我的API密钥,但它仍然被附加到URL而不是标头集合中.

以下是在我的HTML页面中初始化Swagger的代码:

 window.swaggerUi = new SwaggerUi({
            discoveryUrl: "http://pathtomyservice.com/resources",
                headers: { "testheader" : "123" },
                apiKey: "123",
                apiKeyName: "Api-Key",
                dom_id:"swagger-ui-container",
                supportHeaderParams: true,
                supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
                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)});
                },
                onFailure: function(data) {
                    if(console) {
                        console.log("Unable to Load SwaggerUI");
                        console.log(data);
                    }
                },
                docExpansion: "none"
            });
Run Code Online (Sandbox Code Playgroud)

不幸的是我根本没有标题,没有'Api-Key'或'testheader'.

javascript servicestack swagger

21
推荐指数
2
解决办法
3万
查看次数

访问浏览器中其他选项卡的内容

我正在使用Mozilla Firefox,我正试图找到一种方法来使用JavaScript和DOM访问同一窗口中其他选项卡的内容(如果存在,我会接受其他技术).

例如,我想运行一个JavaScript,在tab1其中可以找到其他选项卡的标题.基本上我需要这个,以便我可以识别一个href在我当前页面中打开而没有使用window.open方法的选项卡.我想要的只是一个简单的超级链接,它打开一个属于与当前页面相同的域的页面(该页面应该在新的选项卡中打开).现在,我希望能够从当前选项卡访问此新选项卡.

javascript firefox tabs dom

16
推荐指数
4
解决办法
3万
查看次数

访问另一个osgi包中的资源?

我使用eclipse Plug-in项目向导(使用eclipse Helios)创建了两个OSGI包A和B.

在bundle BI的清单文件中添加了bundle A作为依赖项.此外,我已经在A中导出了包,因此它们对于B是可见的.我还在捆绑包A中有一个.properties文件,我希望它对bundle B可见.在bundle AI的build.properties窗格中指定了:

source.. = src/
bin.includes = META-INF/,\
               .,\
               bundle_A.properties
Run Code Online (Sandbox Code Playgroud)

现在在BI中尝试使用以下命令加载.properties文件:

  private Properties loadProperties() {
    Properties properties = new Properties();
    InputStream istream = this.getClass().getClassLoader().getResourceAsStream(
        "bundle_A.properties");
    try {
      properties.load(istream);
    } catch (IOException e) {
      logger.error("Properties file not found!", e);
    }
    return properties;
  }
Run Code Online (Sandbox Code Playgroud)

但是这会产生一个nullpointer异常(在类路径中找不到该文件).

是否可以从bundle A导出资源(就像导出包时一样)或者以某种方式从B以另一种方式访问​​A中的文件(从bundle B访问bundle A的类加载器)?

java eclipse osgi bundle

13
推荐指数
2
解决办法
8503
查看次数

djangorestframework序列化程序错误:{u'non_field_errors':[u'No input provided']}

我正在使用djangorestframework,有人向a发出PUT请求.../peoplelist/2/markAsSeen,只在URL中传递一个Person对象的id.我获取Person对象(在这种情况下为2),然后只需将获取的Person对象的字段更改has_been_viewed为True.然后将更新的Person对象序列化并返回给客户端.

if request.method == 'PUT':
    serializer = PersonSerializer(person,partial=True)#person is a valid object here
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data)
    else:
        return Response(serializer.errors,)
Run Code Online (Sandbox Code Playgroud)

序列化程序错误{u'non_field_errors': [u'No input provided']} serializer.data对我来说很好看

class PersonSerializer(serializers.ModelSerializer):

    class Meta:
        model = Person
        fields = ('id',)
Run Code Online (Sandbox Code Playgroud)

python django serialization django-models django-rest-framework

13
推荐指数
1
解决办法
4327
查看次数

激活虚拟环境不起作用

我创建了两个virtualenv,我安装了两个不同版本的django.现在我有一个问题来激活这两个环境,我喜欢这样:

source Django1.6/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后我看到环境被激活了.然后我做:

pip install django # for test
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

Requirement already satisfied (use --upgrade to upgrade): 
                                 django in /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

这告诉环境未激活但使用默认环境.为什么我得到这个?

python virtualenv

13
推荐指数
2
解决办法
2万
查看次数

Maven对JRE的使用感到困惑

我在eclipse中创建了一个项目并添加了maven依赖项.在Eclipse中,它说我正在使用JRE 1.5.Eclipse中的一切都运行正常,例如,我可以运行我的测试.

当我尝试mvn clean install从终端运行时,它给我以下错误.

... -source 1.3不支持泛型(使用-source 5或更高版本来启用泛型)...

似乎Maven认为我使用的是JRE 1.3并且无法识别泛型或每个循环.

我怎么能够:

  • 验证我认为maven使用的版本错误.
  • 让Maven编译我的项目.

java dependencies maven-2 maven

12
推荐指数
1
解决办法
2万
查看次数

多线程如何加速应用程序(当线程无法同时运行时)?

我正在学习多线程,但在阅读了一些教程后,我有点困惑.我不明白多线程如何加速应用程序.

通过直觉,我会说多线程会减慢应用程序的速度,因为你不得不等待那些信号量.

当线程无法同时运行时,多线程如何以及何时可以加速应用程序?

multithreading

12
推荐指数
1
解决办法
6747
查看次数

杰克逊没有认识到@JsonCreator注释

我目前正在使用Jackson 1.4.2并尝试code从我们的UI传递回Java控制器(Servlet)的值的反序列化(类型信息的唯一标识符).

有多种类型(例如ABCType,XYZType等等)都从a扩展AbstractType,但每种具体类型都有一个静态工厂方法,它作为单个参数,唯一标识符,并返回类型对象(名称,关联类型,描述,由该标识符表示的有效首字母缩写词等.每种具体类型(例如XYZType)中的静态方法都注释为@JsonCreator:

@JsonCreator
public static XYZType getInstance(String code) {
    .....
}
Run Code Online (Sandbox Code Playgroud)

我看到的问题是杰克逊的映射器试图将json反序列化为这些类型的异常:

引起:org.codehaus.jackson.map.JsonMappingException:找不到类型[simple type,class com.company.type.XYZtype]的默认构造函数:无法从Json对象实例化.

我在这里错过了@JsonCreator静态工厂方法的注释(或者它是否与Jackson 1.4.2在从AbstractType?扩展的具体类型中挣扎?)?

java ajax json annotations jackson

10
推荐指数
2
解决办法
1万
查看次数

转义序列以在MATLAB中显示撇号

我想在matlab中输出撇号(').就像是:

SendOrder('side, symbol, price', 'b, msft, 10', 'b, ibm, 200')
Run Code Online (Sandbox Code Playgroud)

我无法在disp()的帮助下完成它.什么是matlab中的转义序列?

matlab

10
推荐指数
1
解决办法
1万
查看次数

如何获得Vaadin 7应用服务器的IP和端口?

如何获取运行我的Vaadin webapp的应用服务器的协议,IP和端口?我正在使用Vaadin 7.

在vaadin 6中我这样做,但不能在vaadin 7中工作:

String server = ((WebApplicationContext) this.getContext()).getHttpSession().getServletContext().getServerInfo();

java.net.URL url = this.getURL();
String s = url.getHost()+":"+url.getPort()+url.getPath();
Run Code Online (Sandbox Code Playgroud)

java vaadin7

9
推荐指数
2
解决办法
6732
查看次数