2
A
回答
3
最大值记录数量为了解析更复杂的参数可以实现一个ParamConverter:
@Provider
public class RangeHeaderConverter implements ParamConverter<RangeHeader> {
@Override
public RangeHeader fromString(String value) {
return RangeHeader.fromValue(value);
}
@Override
public String toString(RangeHeader value) {
return value.toString();
}
}
您RangeHeader的实现可能是这样的:
public class RangeHeader {
public static enum Unit {
BYTES;
}
private Unit unit;
private long from;
private long to;
public RangeHeader(Unit unit, long from, long to) {
this.unit = unit;
this.from = from;
this.to = to;
}
public Unit getUnit() {
return unit;
}
public long getFrom() {
return from;
}
public long getTo() {
return to;
}
public static RangeHeader fromValue(String range) {
if (range == null) {
return null;
}
String[] tokens = range.replace("Range: ", "").split("=");
Unit unit = Unit.valueOf(tokens[0].toUpperCase());
String[] fromTo = tokens[1].split("-");
long from = Long.valueOf(fromTo[0]);
long to = Long.valueOf(fromTo[1]);
return new RangeHeader(unit, from, to);
}
public String toString() {
return String.format("Range: %s=%d-%d", unit.name().toLowerCase(), from, to);
}
}
你可以使用这个类是这样的:
public Response get(@HeaderParam("Range") RangeHeader range) {
//
}
注意:这只是一个快速+脏的实现,并不处理特殊值或错误。
相关问题
- 1. HTTP范围标头的实体列表
- 2. Content-Type HTTP标头中“charset”的范围
- 3. 范围请求cxf jaxrs
- 4. HTTP范围标题
- 5. HTTP中断/文件下载 - Android/iPhone上的HTTP“范围”标头
- 6. HTML5视频:修改http范围请求标头
- 7. 带有范围标头的HTTP HEAD请求
- 8. 谷歌忽略HTTP GET的“范围”标头?
- 9. src属性和HTTP范围标头<audio> HTML5元素
- 10. 在AngularJS中设置应用程序范围广的HTTP标头
- 11. 使用HTTP字节范围标头进行加速下载
- 12. http标头ajax范围始终提供完整站点
- 13. HTTP帖子在jaxrs
- 14. Http标题范围(HTML + Java示例)
- 15. HTTP |语言标签与语言范围
- 16. $范围$ HTTP调用
- 17. AngularJS HTTP GET范围
- 18. 在grails中通过http使用范围标头流式传输mp4请求
- 19. FTP协议中有没有像HTTP范围标头那样的东西?
- 20. AngularJS $ http范围问题
- 21. 范围在http下载
- 22. http中的md5,范围为
- 23. 范围内的HTTP请求
- 24. 范围子头/尾为空
- 25. 日期范围头痛
- 26. 使用带范围说明符而不是字节的HTTP范围标题?
- 27. 如何让Chrome使用范围http头来寻找音频?
- 28. HTTP标头和HTTP价值
- 29. HTTP标头 - ntCoent-Length
- 30. 请求HTTP标头