From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/ResponseSpec.java | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 279 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/ResponseSpec.java b/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/ResponseSpec.java new file mode 100644 index 0000000..a3d38d6 --- /dev/null +++ b/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/ResponseSpec.java @@ -0,0 +1,279 @@ +/* + * Copyright (c) 2018-2028, DreamLu All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: DreamLu 鍗㈡槬姊� (596392912@qq.com) + */ +package org.springblade.core.http; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; +import okhttp3.*; + +import javax.annotation.Nullable; +import java.io.File; +import java.io.InputStream; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; + +/** + * 鐩稿簲鎺ュ彛 + * + * @author L.cm + */ +public interface ResponseSpec { + + /** + * Returns the HTTP code. + * + * @return code + */ + int code(); + + /** + * Returns the HTTP status message. + * + * @return message + */ + String message(); + + /** + * Returns the HTTP isSuccessful. + * + * @return boolean + */ + default boolean isOk() { + return false; + } + + /** + * Returns the is Redirect. + * + * @return is Redirect + */ + boolean isRedirect(); + + /** + * Returns the Headers. + * + * @return Headers + */ + Headers headers(); + + /** + * Headers Consumer. + * + * @param consumer Consumer + * @return Headers + */ + default ResponseSpec headers(Consumer<Headers> consumer) { + consumer.accept(this.headers()); + return this; + } + + /** + * Returns the Cookies. + * + * @return Cookie List + */ + List<Cookie> cookies(); + + /** + * 璇诲彇娑堣垂 cookie + * + * @param consumer Consumer + * @return ResponseSpec + */ + default ResponseSpec cookies(Consumer<List<Cookie>> consumer) { + consumer.accept(this.cookies()); + return this; + } + + /** + * Returns body String. + * + * @return body String + */ + String asString(); + + /** + * Returns body to byte arrays. + * + * @return byte arrays + */ + byte[] asBytes(); + + /** + * Returns body to InputStream. + * + * @return InputStream + */ + InputStream asStream(); + + /** + * Returns body to JsonNode. + * + * @return JsonNode + */ + JsonNode asJsonNode(); + + /** + * Returns body to Object. + * + * @param valueType value value type + * @return Object + */ + @Nullable + <T> T asValue(Class<T> valueType); + + /** + * Returns body to Object. + * + * @param typeReference value Type Reference + * @return Object + */ + @Nullable + <T> T asValue(TypeReference<T> typeReference); + + /** + * Returns body to List. + * + * @param valueType value type + * @return List + */ + <T> List<T> asList(Class<T> valueType); + + /** + * Returns body to Map. + * + * @param keyClass key type + * @param valueType value type + * @return Map + */ + <K, V> Map<K, V> asMap(Class<?> keyClass, Class<?> valueType); + + /** + * Returns body to Map. + * + * @param valueType value 绫诲瀷 + * @return Map + */ + <V> Map<String, V> asMap(Class<?> valueType); + + /** + * 灏� xml銆乭eml 杞垚瀵硅薄 + * + * @param valueType 瀵硅薄绫� + * @param <T> 娉涘瀷 + * @return 瀵硅薄 + */ + <T> T asDomValue(Class<T> valueType); + + /** + * 灏� xml銆乭eml 杞垚瀵硅薄 + * + * @param valueType 瀵硅薄绫� + * @param <T> 娉涘瀷 + * @return 瀵硅薄闆嗗悎 + */ + <T> List<T> asDomList(Class<T> valueType); + + /** + * toFile. + * + * @param file File + */ + File toFile(File file); + + /** + * toFile. + * + * @param path Path + */ + Path toFile(Path path); + + /** + * Returns contentType. + * + * @return contentType + */ + @Nullable + MediaType contentType(); + + /** + * Returns contentLength. + * + * @return contentLength + */ + long contentLength(); + + /** + * Returns rawRequest. + * + * @return Request + */ + Request rawRequest(); + + /** + * rawRequest Consumer. + * + * @param consumer Consumer + * @return ResponseSpec + */ + @Nullable + default ResponseSpec rawRequest(Consumer<Request> consumer) { + consumer.accept(this.rawRequest()); + return this; + } + + /** + * Returns rawResponse. + * + * @return Response + */ + Response rawResponse(); + + /** + * rawResponse Consumer. + * + * @param consumer Consumer + * @return Response + */ + default ResponseSpec rawResponse(Consumer<Response> consumer) { + consumer.accept(this.rawResponse()); + return this; + } + + /** + * Returns rawBody. + * + * @return ResponseBody + */ + @Nullable + ResponseBody rawBody(); + + /** + * rawBody Consumer. + * + * @param consumer Consumer + * @return ResponseBody + */ + @Nullable + default ResponseSpec rawBody(Consumer<ResponseBody> consumer) { + consumer.accept(this.rawBody()); + return this; + } + +} -- Gitblit v1.9.3