请求数据
最后更新于:2022-04-01 23:20:06
# 目录
[TOC]
# 各种Request介绍
想要发起一个请求就要有请求对象,NoHttp的理念是你想请求什么数据,就构造什么样的请求对象。任何请求对象都支持发送任何数据,关于提交数据、提交参数文档待补充。
NoHttp支持请求String、JsonObject、JsonArray、Bitmap、byte[],支持自定义请求,例如JavaBean、FastJson、Gson等。
## StringRequest
* 下面的方式将创建一个请求方法为`GET`的StringRequest。
```java
Request request = NoHttp.createStringRequest(url);
```
* 如果要创建其它请求方法的StringRequest,第二个参数传入对应的Method即可。
例如POST请求:
```java
Request request = NoHttp.createStringRequest(url, RequestMethod.POST);
```
## JsonObjectRequest
* 下面的方式将创建一个请求方法为`GET`的JsonObjectRequest。
```java
Request request = NoHttp.createJsonObjectRequest(url);
```
* 如果要创建其它请求方法的JsonObjectRequest,第二个参数传入对应的Method即可。
例如POST请求:
```java
Request request = NoHttp.createJsonObjectRequest(url, RequestMethod.POST);
```
## JsonArrayRequest
* 下面的方式将创建一个请求方法为`GET`的JsonArrayRequest。
```java
Request request = NoHttp.createJsonArrayRequest(url);
```
* 如果要创建其它请求方法的JsonArrayRequest,第二个参数传入对应的Method即可。
例如POST请求:
```java
Request request = NoHttp.createJsonArrayRequest(url, RequestMethod.POST);
```
## BitmapRequest
* 下面的方式将创建一个请求方法为`GET`的BitmapRequest
```java
Request request = NoHttp.createBitmapRequest(url);
```
* 如果要创建其它请求方法的BitmapRequest,第二个参数传入对应的Method即可
例如POST请求:
```java
Request request = NoHttp.createBitmapRequest(url, RequestMethod.POST);
```
## ByteArrayRequest
* 下面的方式将创建一个请求方法为`GET`的ByteArrayRequest。
```java
Request request = NoHttp.createByteArrayRequest(url);
```
* 如果要创建其它请求方法的ByteArrayRequest,第二个参数传入对应的Method即可。
例如POST请求:
```java
Request request = NoHttp.createByteArrayRequest(url, RequestMethod.POST);
```
## 自定义请求FastJson、JavaBean
[请看这里](http://doc.nohttp.net/222884)。
# 请求优先级
NoHttp的队列支持请求优先级,通过以下代码给某个请求设置请求优先级:
```java
request.setPriority(Priority.DEFAULT);
```
NoHttp有以下四个优先级别,默认请求的优先级别是`DEFAULT`
```java
public enum Priority {
LOW, DEFAULT, HEIGHT, HIGHEST
}
```
|值|说明|
|----|----|
|HIGHEST|优先级别最高,一般用于队列中有HEIGHT的请求时,需要立即执行的请求|
|HEIGHT|优先级别高,低于HIGHEST|
|DEFAULT|默认值,低于HEIGHT|
|LOW|优先级最低|
**推荐阅读**
[1. NoHttp的队列异步请求基本使用](http://doc.nohttp.net/222880)
[2. NoHttp队列特性详解](http://doc.nohttp.net/222881)
';