首页 > 解决方案 > 在 Java SpringBoot 中构建自定义 Curl 请求

问题描述

嗨,我正在尝试在 java springboot 中运行 curl curl --unix-socket /var/run/docker.sock http://localhost/containers/json

我创建了一个服务类

public Long getContainerPort() {
        logger.info("Calling  Container Api");
        Long containerPortNumber = defaultContainerPortNumber;
        List<ContainerPort> containerPorts = Arrays.asList(restTemplate1.getForObject(curlURIBuilder.toUriString(), ContainerPort[].class));
        if (CollectionUtils.isEmpty(containerPorts)) {
            logger.debug("Container Api response is empty. So returning defualt port");
            return containerPortNumber;
        }
        for (ContainerPort containerPort : containerPorts) {
            if (CollectionUtils.isEmpty(containerPort.getPorts())) {
                continue;
            }
            for (Port port : containerPort.getPorts()) {
                if (port.getPrivatePort() == 8081) {
                    containerPortNumber = (null == port.getPublicPort() ? containerPortNumber : port.getPublicPort());
                    break;
                }
            }
        }
        logger.debug("Container port is: {}", containerPortNumber);
        return containerPortNumber;
    }

}

这仅适用于发送一个简单的 curl 请求,即curl http://localhost/containers/json

没有--unix-socket /var/run/docker.sock

我使用 UriComponentbuilder 构建curl --unix-socket /var/run/docker.sock http://localhost/containers/json 但出现错误 uri is absolute

标签: javaspring-boot

解决方案


推荐阅读