小编Héc*_*tor的帖子

使用Retrofit获取原始HTTP响应

我想从我的API REST获取原始http响应.我试过这个界面:

@POST("/login")
@FormUrlEncoded
Call<retrofit.Response> login(@Field("username") String login, @Field("password") String pass,
                     @Field("appName") String appName, @Field("appKey") String appKey);
Run Code Online (Sandbox Code Playgroud)

但我得到:

java.lang.IllegalArgumentException:无法为方法Api.login的retrofit.Call创建调用适配器

我这样创造Retrofit:

Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
retrofitBuilder.addConverterFactory(JacksonConverterFactory.create());
Retrofit retrofitAdapter = retrofitBuilder.baseUrl(baseUrl).build();
return retrofitAdapter.create(apiClass);
Run Code Online (Sandbox Code Playgroud)

java jackson retrofit

47
推荐指数
3
解决办法
5万
查看次数

找不到类型...自定义Spring数据存储库的属性

我正在尝试实现自定义Spring存储库.我有界面:

public interface FilterRepositoryCustom {
    List<User> filterBy(String role);
}
Run Code Online (Sandbox Code Playgroud)

实施:

public class FilterRepositoryImpl implements FilterRepositoryCustom {
...
}
Run Code Online (Sandbox Code Playgroud)

和"主"存储库,扩展我的自定义存储库:

public interface UserRepository extends JpaRepository<User, String>, FilterRepositoryCustom {
...
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Spring Boot,根据文档:

默认情况下,Spring Boot将启用JPA存储库支持并查看@SpringBootApplication所在的包(及其子包).

当我运行我的应用程序时,我收到此错误:

org.springframework.data.mapping.PropertyReferenceException:找不到类型User的属性filterBy!

spring spring-data spring-boot

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

如何在不手动修改文件的情况下编辑部署?

我为我的应用定义了部署:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: 172.20.34.206:5000/myapp_img:2.0
        ports:
        - containerPort: 8080
Run Code Online (Sandbox Code Playgroud)

现在,如果我想将我的应用程序的图像2.0更新为3.0,我这样做:

  1. $ kubectl edit deployment/myapp-deployment
  2. vim开了.我将图像版本从2.0更改为3.0并保存.

它如何实现自动化?有没有办法只运行命令?就像是:

$ kubectl edit deployment/myapp-deployment --image=172.20.34.206:5000/myapp:img:3.0
Run Code Online (Sandbox Code Playgroud)

我想使用Kubernetes API REST但我不懂文档.

kubernetes

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

在持续交付中构建版本控制

关于持续交付中的版本控制,我有一些具体问题.我想我了解全球工作流程或多或少是这样的:

1) Code
2) Push to version Control
3) Continuous Integration (unit, integration and end-to-end auto testing)
4) Artifacts deployment
Run Code Online (Sandbox Code Playgroud)

版本控制怎么样?如何管理构建版本?

假设我们正在开发一个基于Maven的语义版本项目:major.minor.build.

当开发人员提交对VCS的更改并且CI服务器执行构建时,CI服务器是否应增加构建版本并在VCS中创建标记?

这个构建版本是否存在于源代码中?如果是这样,在每次推送到VC​​S之后,开发人员应该更新项目,因为CI服务器在项目上提交了更改(版本增量).

我有点困惑,我想以实用的方式理解CD工作流程.

continuous-integration continuous-delivery

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

System.out.print()在测试方法中没有显示任何内容

我正在尝试System.out在我的单元测试(@Testmehotds)中打印一些数据,但它没有显示任何内容.但是,它在@Before方法中正常工作.我正在使用JUnit和Maven Surefire插件.

public class MyTests {

  @Before
  void init(){

    System.out.println("Initializing some data..."); // <- It works.

  }

  @Test
  void shouldRemoveSeries() {

    System.out.println("TEST: Should remove series"); // <- It doesn't.

  }
}
Run Code Online (Sandbox Code Playgroud)

maven-surefire-plugin 组态:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.15</version>
  <configuration>
    <includes>
      <include>**/*Tests.java</include>
    </includes>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

谢谢.

java junit maven

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

RestAssured:如何检查json数组响应的长度?

我有一个返回JSON的端点,如:

[
  {"id" : 4, "name" : "Name4"},
  {"id" : 5, "name" : "Name5"}
]
Run Code Online (Sandbox Code Playgroud)

和DTO课程:

public class FooDto {
    public int id;
    public String name;
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在以这种方式测试返回的json数组的长度:

@Test
public void test() {
    FooDto[] foos = RestAssured.get("/foos").as(FooDto[].class);
    assertThat(foos.length, is(2));
}
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法在没有强制转换为FooDto数组的情况下执行此操作?像这样的东西:

@Test
public void test() {
    RestAssured.get("/foos").then().assertThat()
      .length(2);
}
Run Code Online (Sandbox Code Playgroud)

json rest-assured

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

Golang中的"instanceof"等价物

我有这个结构:

type Event interface {
    Accept(EventVisitor)
}

type Like struct {
}

func (l *Like) Accept(visitor EventVisitor) {
    visitor.visitLike(l)
}
Run Code Online (Sandbox Code Playgroud)

我该如何测试这event是一个Like实例?

func TestEventCreation(t *testing.T) {
    event, err := New(0)
    if err != nil {
        t.Error(err)
    }
    if reflect.TypeOf(event) != Like {
        t.Error("Assertion error")
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

类型Like不是表达式事件事件

go

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

如何从内容页面访问母版页上的.Net元素?

是否可以从主页中加载的页面访问主页面上的元素ContentPlaceHolder

我有一个ListView,它在主页面的导航区域中列出了人们的姓名.我想在将一个人添加到ListView数据绑定到的表后更新ListView.在ListView重新加载缓存之前,当前不会更新它的值.我们发现只需重新运行ListView.DataBind()会更新listview的内容.我们无法在ListView.DataBind()使用母版页的页面上运行.

下面是我想要做的一个示例,但编译器错误说

"PeopleListView在当前上下文中不存在"

GIS.master - ListView所在的位置

...<asp:ListView ID="PeopleListView"...
Run Code Online (Sandbox Code Playgroud)

GISInput_People.aspx - 使用GIS.master作为主页面

GISInput_People.aspx.cs

AddNewPerson()
{
    // Add person to table
    ....

    // Update Person List
    PeopleListView.DataBind();
    ...
}
Run Code Online (Sandbox Code Playgroud)

在C#.Net中解决此类问题的最佳方法是什么?

.net c#

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

Docker容器内的权限被拒绝

我有一个已启动的容器gigantic_booth,我想创建目录/etc/test:

# docker exec -it gigantic_booth /bin/bash
$ mkdir /etc/test
$ mkdir: cannot create directory '/etc/test': Permission denied
Run Code Online (Sandbox Code Playgroud)

并且sudo找不到命令.我不想在image-build-time中创建这个目录,但是一旦启动.

我能怎么做?

谢谢 :)

docker

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

没有容器ID的Docker exec命令

怎么能这样做:

docker exec -it 06a0076fb4c0  install-smt
Run Code Online (Sandbox Code Playgroud)

但请改用容器的名称

docker exec -it container/container  install-smt
Run Code Online (Sandbox Code Playgroud)

我在CI服务器上运行构建,因此无法手动输入容器ID.

我怎样才能做到这一点?

docker

14
推荐指数
3
解决办法
5417
查看次数