今天简单介绍一下如何用Java支持HTTP Multipart的request和response。 整个项目的代码可以在https://github.com/mcai4gl2/multi下载。
在这个程序里,我们的业务场景很简单。在服务端有一个随机数生成器,可以生成随机的Integer和Guid,客户端通过服务,可以请求一个或多个随机数。同时,客户端可以向服务端发送一个或多个随机数,这些随机数会被加入到一个队列中,被其他的客户端通过请求获得。以下是我们的随机数Bean的定义:
public class RandNumber {
private String uuid;
private Integer number;
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
@Override
public String toString() {
return number + " " + uuid;
}
public static class Builder {
private RandNumber number;
public Builder() {
number = new RandNumber();
}
public Builder randomlyGenerate() {
Random random = new Random();
number.setNumber(random.nextInt(100));
number.setUuid(UUID.randomUUID().toString());
return this;
}
public Builder withNumber(int num) {
number.setNumber(num);
return this;
}
public Builder withUuid(String uuid) {
number.setUuid(uuid);
return this;
}
public RandNumber build() {
return number;
}
}
}
在这个类中,我们除了定义类的基本信息,还添加了一个Builder类。通过这个Builder类,我们可以很方便的生成RandNumber类。Builder类在我