You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.2 KiB
114 lines
3.2 KiB
package com.fanruan.api.net.http.rs; |
|
|
|
import com.fr.third.org.apache.http.client.methods.HttpDelete; |
|
import com.fr.third.org.apache.http.client.methods.HttpGet; |
|
import com.fr.third.org.apache.http.client.methods.HttpHead; |
|
import com.fr.third.org.apache.http.client.methods.HttpOptions; |
|
import com.fr.third.org.apache.http.client.methods.HttpPatch; |
|
import com.fr.third.org.apache.http.client.methods.HttpPost; |
|
import com.fr.third.org.apache.http.client.methods.HttpPut; |
|
import com.fr.third.org.apache.http.client.methods.HttpRequestBase; |
|
import com.fr.third.org.apache.http.client.methods.HttpTrace; |
|
|
|
/** |
|
* @author richie |
|
* @version 10.0 |
|
* Created by richie on 2019-08-29 |
|
*/ |
|
public enum HttpRequestType { |
|
/** |
|
* 求获取Request-URI所标识的资源 |
|
*/ |
|
GET("GET") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpGet(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。 |
|
* POST请求可能会导致新的资源的建立和/或已有资源的修改 |
|
*/ |
|
POST("POST") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpPost(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。 |
|
* 这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息 |
|
* 只获取响应信息报头 |
|
*/ |
|
HEAD("HEAD") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpHead(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 向指定资源位置上传其最新内容(全部更新,操作幂等) |
|
*/ |
|
PUT("PUT") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpPut(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 请求服务器删除Request-URI所标识的资源 |
|
*/ |
|
DELETE("DELETE") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpDelete(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 请求服务器回送收到的请求信息,主要用于测试或诊断 |
|
*/ |
|
TRACE("TRACE") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpTrace(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 向指定资源位置上传其最新内容(部分更新,非幂等) |
|
*/ |
|
PATCH("PATCH") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpPatch(url); |
|
} |
|
}, |
|
|
|
/** |
|
* 返回服务器针对特定资源所支持的HTTP请求方法。 |
|
* 也可以利用向Web服务器发送'*'的请求来测试服务器的功能性 |
|
*/ |
|
OPTIONS("OPTIONS") { |
|
@Override |
|
public HttpRequestBase createHttpRequest(String url) { |
|
return new HttpOptions(url); |
|
} |
|
}; |
|
|
|
public abstract HttpRequestBase createHttpRequest(String url); |
|
|
|
private String name; |
|
|
|
HttpRequestType(String name) { |
|
this.name = name; |
|
} |
|
|
|
public String getName() { |
|
return name; |
|
} |
|
}
|
|
|