小编Bac*_*con的帖子

Swagger UI 授权按钮不出现

编辑:我正在使用 Swagger UI 2.5.0 并尝试将其配置为使用 oauth 身份验证。根据我从宠物商店示例和我读过的其他文章中了解到的情况,如果我在我的文档中包含安全模式和上下文,它应该自动显示按钮 - 是这种情况吗?如果是这样,我还缺少什么?

我的 API 在 swagger UI 中显示正常 - 只是缺少授权按钮(以及任何授权方式)

@Configuration
@EnableSwagger2
public class SwaggerConfig {

@Bean
public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("api")
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.example"))
            .paths(PathSelectors.regex("/api.*"))
            .build()
            .securitySchemes(newArrayList(securitySchema()))
            .securityContexts(newArrayList(securityContext()));
}


public static final String securitySchemaOAuth2 = "oauth2schema";
public static final String authorizationScopeGlobal = "global";
public static final String authorizationScopeGlobalDesc ="accessEverything";

private OAuth securitySchema() {
    AuthorizationScope authorizationScope = new AuthorizationScope(authorizationScopeGlobal, authorizationScopeGlobal);
    LoginEndpoint loginEndpoint = new LoginEndpoint("http://localhost:9999/sso/login");
    GrantType grantType = new ImplicitGrant(loginEndpoint, "access_token"); …
Run Code Online (Sandbox Code Playgroud)

java spring swagger-ui

8
推荐指数
0
解决办法
2228
查看次数

Mockito模糊的方法调用

我正在尝试删除一个方法调用,例如

when(amazonDynamoDBClient.batchWriteItem(anyObject())).thenReturn(batchWriteItemResultMock);
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

错误:(198,34)java:对batchWriteItem的引用不明确com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient方法batchWriteItem(com.amazonaws.services.dynamodbv2.model.BatchWriteItemRequest)和方法batchWriteItem(java.util.Map> )在com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient匹配中

我看不出这是多么模糊 - 方法签名是不同的,即

public BatchWriteItemResult batchWriteItem(BatchWriteItemRequest request) {
Run Code Online (Sandbox Code Playgroud)

public BatchWriteItemResult batchWriteItem(Map<String, List<WriteRequest>> requestItems) {
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

java junit mockito

6
推荐指数
1
解决办法
6758
查看次数

使用ignorecase生成Lombok equals方法

可以注释String字段,因此 Lombok 生成一个 equals 方法,该方法忽略值的字符大小写String

也就是说,生成如下内容:

public class Foo {
    private String bar;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Foo foo = (Foo) o;

        return bar != null ? StringUtils.equalsIgnoreCase(bar, foo.bar) : foo.bar == null;
    }    
}
Run Code Online (Sandbox Code Playgroud)

java lombok

5
推荐指数
1
解决办法
4332
查看次数

spring-boot 应用程序重新启动时 HSQL DB 丢失

我正在使用 liquibase 在我的 springboot 应用程序中初始化我的数据库,它工作正常,直到我重新启动 - 数据库重新初始化并擦除所有数据。

这是我的应用程序属性

# Liquibase
liquibase.change-log=classpath:/db/changelog/iot-db.xml
liquibase.check-change-log-location=true

# Hibernate
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.show_sql=false
hibernate.hbm2ddl.auto=
entitymanager.packagesToScan=com.whatever
Run Code Online (Sandbox Code Playgroud)

是否有属性允许我创建持久数据库而不是内存数据库?

java spring hsqldb liquibase spring-boot

3
推荐指数
1
解决办法
1778
查看次数

Spring RestController生成charset = UTF-8

自从更新到最新版本的Spring-Boot(1.4.1)后,我注意到在我的RestControllers中,即使我明确地将生成的媒体类型设置为"application/json",它现在正在生成"application/json; charset = UTF-8"

控制器:

@RestController
@RequestMapping(value = "/api/1/accounts", consumes = "application/json", produces = "application/json")
public class AccountController {
.....
Run Code Online (Sandbox Code Playgroud)

响应标题

Content-Type ?application/json;charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

现在是否在其他地方配置了覆盖RequestMapping设置?

java spring-mvc spring-boot

3
推荐指数
1
解决办法
8224
查看次数

HSQLDB 唯一约束导致 java.lang.NullPointerException

当测试唯一约束时,我已将其添加到表中,但它被遵守,但不是约束异常或类似的情况,当我尝试创建另一个打破约束的实体时,我得到一个 NullPointerException,这似乎不对

    org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement

    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:333)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:521)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:487)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at com.example.FooDao$$EnhancerBySpringCGLIB$$e47b8667.create(<generated>)
    at com.example.FooDaoTest.shouldHaveUniqueConstraintOnPrimaryAndSecondaryCodes(FooDaoTest.java:107)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
    at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
    at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa hsqldb liquibase

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