# coufran-spring-boot-starter-http **Repository Path**: coufran/coufran-spring-boot-starter-http ## Basic Information - **Project Name**: coufran-spring-boot-starter-http - **Description**: 基于 Apache Http Client 的 HTTP 客户端。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-28 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, lib ## README # 用法 ## 快速开始 ```java // 构造GET请求 HttpRequest getRequest = HttpRequest .get("http://xxx/xxx"); // 设置GET请求的URL // 构造POST请求 HttpRequest postRequest = HttpRequest .post("http://xxx/xxx"); // 设置POST请求的URL // 构造复杂请求 HttpRequest request = HttpRequest // 设置请求方法和URL .post("http://xxx/xxx") // 设置请求参数(拼接在URL中) .param("paramKey", "paramValue") // 添加参数 .params(new HashMap()) // 添加一组参数 // 设置请求头 .header("headerKey", "headerValue") // 添加请求头 .params(new HashMap()) // 添加一组请求头 // 设置请求体 .body("Body"); // 设置String类型的请求体 request.body("Body", ContentType.TEXT_PLAIN); // 同时设置ContentType request.body("成功", ContentType.TEXT_PLAIN.withCharset(StandardCharsets.UTF_8)); // 同时设置ContentType和字符集 // 设置Object类型的请求体 Result result = Result.ok(Arrays.asList("a", "b")); request.body(result); // 默认application/json类型的ContentType // 执行请求 HttpResponse response = request.execute(); // 校验结果 response.check() // 校验结果(当前仅校验statusCode是不是200) .checkStatusCode() // 校验statusCode是不是200 .checkStatusCode(200); // 校验statusCode是不是指定值 // 获取结果 byte[] bytes = response.asByteArray(); // 获取byteArray String str = response.asString(); // 获取字符串 Result result = response.asObject(Result.class); // 获取对象 result = response.asObject(new TypeReference>>() {}); // 获取对象 result = response.asResult(List.class); // 获取Result类型的对象,参数是Result Data类型 result = response.asResult(new TypeReference>() {}); // 获取Result类型的对象,参数是Result Data类型 ``` ## HTTP客户端``HttpClient`` - ``execute(:HttpRequest):HttpResponse`` ## HTTP请求``HttpRequest`` - ``static get(url:String):HttpRequest`` - ``static post(url:String):HttpRequest`` - ``params(:Map):HttpRequest`` - ``param(key:String, value:String):HttpRequest`` - ``headers(:Map):HttpRequest`` - ``header(key:String, value:String):HttpRequest`` - ``body(content:String, :ContentType):HttpRequest`` - ``body(content:String, contentType:String):HttpRequest`` - ``body(content:String):HttpRequest`` - ``body(content:Object, :ContentType):HttpRequest`` - ``body(content:Object, contentType:String):HttpRequest`` - ``body(content:Object):HttpRequest`` > 以下接口暂未实现 > - ``body(contentKey:String, contentValue:String, :ContentType):HttpRequest`` > - ``body(contentKey:String, contentValue:Object, :ContentType):HttpRequest`` > - ``body(contentKey:String, contentValue:String, contentType:String):HttpRequest`` > - ``body(contentKey:String, contentValue:Object, contentType:String):HttpRequest`` > - ``body(contentKey:String, contentValue:String):HttpRequest`` > - ``body(contentKey:String, contentValue:Object):HttpRequest`` - ``execute():HttpResponse`` - ``execute(:HttpClient):HttpResponse`` ## HTTP方法``HttpMethod`` - ``GET`` - ``POST`` ## HTTP响应``HttpResponse`` - ``check():HttpResponse`` - ``checkStatusCode():HttpResponse`` - ``checkStatusCode(statusCode:int):HttpResponse`` - ``statusCode():int`` - ``asByteArray():byte[]`` - ``asString():String`` - ``asJson():`` - ``asObject(:Class):T`` - ``asObject(:TypeReference):T`` - ``asObject(:Type):T`` - ``asResult():Result`` - ``asResult(:Class):Result`` - ``asResult(:TypeReference):Result`` - ``asResult(:Type):Result`` ## HTTP异常``HttpException``