小编ken*_*ske的帖子

如何使用Jackson注释将嵌套值映射到属性?

假设我正在调用一个API,它响应产品的以下JSON:

{
  "id": 123,
  "name": "The Best Product",
  "brand": {
     "id": 234,
     "name": "ACME Products"
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用Jackson注释来映射产品ID和名称:

public class ProductTest {
    private int productId;
    private String productName, brandName;

    @JsonProperty("id")
    public int getProductId() {
        return productId;
    }

    public void setProductId(int productId) {
        this.productId = productId;
    }

    @JsonProperty("name")
    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }
} …
Run Code Online (Sandbox Code Playgroud)

java json jackson

75
推荐指数
4
解决办法
5万
查看次数

如何使用guzzle发送超时限制的并发请求?

我正在使用Guzzle 6发送这样的并发请求:

public function sendConcurrentRequests() {

    $client = new Client(['timeout' => 5]);

    $promises[] = $client->getAsync('http://example.com/1');
    $promises[] = $client->getAsync('http://example.com/2');
    $promises[] = $client->getAsync('http://example.com/3');

    $results = Promise\unwrap($promises);  

    return $results;
}
Run Code Online (Sandbox Code Playgroud)

每个请求可能需要1到10秒,但我不希望任何请求等待超过5秒(这就是我设置超时的原因).我希望会发生的是:

  • 请求1,2和3已启动
  • 请求2需要超过5秒,因此请求被取消,并且返回来自及时响应的请求1和3的响应

这是实际发生的事情: - 请求1,2和3启动 - 请求2需要超过3秒,因此解包函数抛出一个ConnectException,我无法从请求1和3获得响应.

我如何才能完成这项工作,以便能够及时获得有效回复?

php curl asynchronous guzzle

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

标签 统计

asynchronous ×1

curl ×1

guzzle ×1

jackson ×1

java ×1

json ×1

php ×1