从sap获取数据写入数据库操作

  • 一、什么是从sap获取数据?
  • 二、如何是从sap获取数据?
    • 1.先在controller层写出接口
    • 2.在call层写出方法(call层为请求层)
      • (1)Gson工具包
      • (2)CloseableHttpResponse工具包
      • (3)StringEntity工具包
      • (4)HttpPost工具包
        • (1)接口层
      • (5)CredentialsProvider工具包
        • (1)接口层
    • 3.在postman调用接口(传入给的json格式数据)

一、什么是从sap获取数据?

每个公司拉sap数据方法不一样,有些还需要验证,具体问题,具体分析,这边大致给一个思路

SAP,为“System Applications and Products”的简称,是SAP公司的产品——企业管理解决方案的软件名称。SAP公司(纽交所代码:SAP)成立于1972年。
简而言之就是写一个接口,让别人调用,你发送一个json格式数据过去,对面响应并且返回数据,再写入数据库

二、如何是从sap获取数据?

这种情况下,数据库是不会优先建立的,需要你先得到数据,再去写数据库,最后插入数据

1.先在controller层写出接口

@Slf4j
@RestController
@RequestMapping("接口")
public class TabZmmo3110MaterialDataController {@PostMapping("地址")@ResponseBodypublic void getHistoryBill(@RequestBody String object) {System.out.print(object);log.info("------------call------------");}
}

2.在call层写出方法(call层为请求层)

@RestController
@RequestMapping("接口")
@Slf4j
public class Zmmo3110MaterialDataCall {@GetMapping("/地址")public int execute() throws Exception {log.info("call---------------");Map<String, Object> params = new HashMap<String, Object>();Map<String, Object> p = new HashMap<String, Object>();p.put("abcde", "122");p.put("abcdef", "121");p.put("abcdefg", "222");p.put("abcdefgh", "111");p.put("a", "211");p.put("ab", "2121");p.put("abc", "1212");params.put("", p);String url = "这边写你sap的地址"; //测试int code = run(params, url);if (code == 202 || code == 200 || code == 204) {log.info("请求成功!");return code;} else {log.info("程序异常!");return code;}}public int run(Map<String, Object> params, String url) {Gson gson = new Gson();String pars = gson.toJson(params);String userName = "test";String password = "123456";CredentialsProvider credsProvider = new BasicCredentialsProvider();credsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(userName, password));CloseableHttpClient createDefault = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();HttpPost post = new HttpPost(url);StringEntity entity = new StringEntity(pars.toString(), "utf-8");entity.setContentEncoding("UTF-8");entity.setContentType("application/json");post.setEntity(entity);CloseableHttpResponse result = null;try {result = createDefault.execute(post);} catch (IOException e) {e.printStackTrace();}int code = result.getStatusLine().getStatusCode();return code;}
}

(1)Gson工具包

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package com.google.gson;import com.google.gson.internal.ConstructorConstructor;
import com.google.gson.internal.Excluder;
import com.google.gson.internal.Primitives;
import com.google.gson.internal.Streams;
import com.google.gson.internal.bind.ArrayTypeAdapter;
import com.google.gson.internal.bind.CollectionTypeAdapterFactory;
import com.google.gson.internal.bind.DateTypeAdapter;
import com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory;
import com.google.gson.internal.bind.JsonTreeReader;
import com.google.gson.internal.bind.JsonTreeWriter;
import com.google.gson.internal.bind.MapTypeAdapterFactory;
import com.google.gson.internal.bind.ObjectTypeAdapter;
import com.google.gson.internal.bind.ReflectiveTypeAdapterFactory;
import com.google.gson.internal.bind.SqlDateTypeAdapter;
import com.google.gson.internal.bind.TimeTypeAdapter;
import com.google.gson.internal.bind.TypeAdapters;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import com.google.gson.stream.MalformedJsonException;
import java.io.EOFException;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicLongArray;public final class Gson {static final boolean DEFAULT_JSON_NON_EXECUTABLE = false;static final boolean DEFAULT_LENIENT = false;static final boolean DEFAULT_PRETTY_PRINT = false;static final boolean DEFAULT_ESCAPE_HTML = true;static final boolean DEFAULT_SERIALIZE_NULLS = false;static final boolean DEFAULT_COMPLEX_MAP_KEYS = false;static final boolean DEFAULT_SPECIALIZE_FLOAT_VALUES = false;private static final TypeToken<?> NULL_KEY_SURROGATE = TypeToken.get(Object.class);private static final String JSON_NON_EXECUTABLE_PREFIX = ")]}'\n";private final ThreadLocal<Map<TypeToken<?>, Gson.FutureTypeAdapter<?>>> calls;private final Map<TypeToken<?>, TypeAdapter<?>> typeTokenCache;private final ConstructorConstructor constructorConstructor;private final JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory;final List<TypeAdapterFactory> factories;final Excluder excluder;final FieldNamingStrategy fieldNamingStrategy;final Map<Type, InstanceCreator<?>> instanceCreators;final boolean serializeNulls;final boolean complexMapKeySerialization;final boolean generateNonExecutableJson;final boolean htmlSafe;final boolean prettyPrinting;final boolean lenient;final boolean serializeSpecialFloatingPointValues;final String datePattern;final int dateStyle;final int timeStyle;final LongSerializationPolicy longSerializationPolicy;final List<TypeAdapterFactory> builderFactories;final List<TypeAdapterFactory> builderHierarchyFactories;public Gson() {this(Excluder.DEFAULT, FieldNamingPolicy.IDENTITY, Collections.emptyMap(), false, false, false, true, false, false, false, LongSerializationPolicy.DEFAULT, (String)null, 2, 2, Collections.emptyList(), Collections.emptyList(), Collections.emptyList());}Gson(Excluder excluder, FieldNamingStrategy fieldNamingStrategy, Map<Type, InstanceCreator<?>> instanceCreators, boolean serializeNulls, boolean complexMapKeySerialization, boolean generateNonExecutableGson, boolean htmlSafe, boolean prettyPrinting, boolean lenient, boolean serializeSpecialFloatingPointValues, LongSerializationPolicy longSerializationPolicy, String datePattern, int dateStyle, int timeStyle, List<TypeAdapterFactory> builderFactories, List<TypeAdapterFactory> builderHierarchyFactories, List<TypeAdapterFactory> factoriesToBeAdded) {this.calls = new ThreadLocal();this.typeTokenCache = new ConcurrentHashMap();this.excluder = excluder;this.fieldNamingStrategy = fieldNamingStrategy;this.instanceCreators = instanceCreators;this.constructorConstructor = new ConstructorConstructor(instanceCreators);this.serializeNulls = serializeNulls;this.complexMapKeySerialization = complexMapKeySerialization;this.generateNonExecutableJson = generateNonExecutableGson;this.htmlSafe = htmlSafe;this.prettyPrinting = prettyPrinting;this.lenient = lenient;this.serializeSpecialFloatingPointValues = serializeSpecialFloatingPointValues;this.longSerializationPolicy = longSerializationPolicy;this.datePattern = datePattern;this.dateStyle = dateStyle;this.timeStyle = timeStyle;this.builderFactories = builderFactories;this.builderHierarchyFactories = builderHierarchyFactories;List<TypeAdapterFactory> factories = new ArrayList();factories.add(TypeAdapters.JSON_ELEMENT_FACTORY);factories.add(ObjectTypeAdapter.FACTORY);factories.add(excluder);factories.addAll(factoriesToBeAdded);factories.add(TypeAdapters.STRING_FACTORY);factories.add(TypeAdapters.INTEGER_FACTORY);factories.add(TypeAdapters.BOOLEAN_FACTORY);factories.add(TypeAdapters.BYTE_FACTORY);factories.add(TypeAdapters.SHORT_FACTORY);TypeAdapter<Number> longAdapter = longAdapter(longSerializationPolicy);factories.add(TypeAdapters.newFactory(Long.TYPE, Long.class, longAdapter));factories.add(TypeAdapters.newFactory(Double.TYPE, Double.class, this.doubleAdapter(serializeSpecialFloatingPointValues)));factories.add(TypeAdapters.newFactory(Float.TYPE, Float.class, this.floatAdapter(serializeSpecialFloatingPointValues)));factories.add(TypeAdapters.NUMBER_FACTORY);factories.add(TypeAdapters.ATOMIC_INTEGER_FACTORY);factories.add(TypeAdapters.ATOMIC_BOOLEAN_FACTORY);factories.add(TypeAdapters.newFactory(AtomicLong.class, atomicLongAdapter(longAdapter)));factories.add(TypeAdapters.newFactory(AtomicLongArray.class, atomicLongArrayAdapter(longAdapter)));factories.add(TypeAdapters.ATOMIC_INTEGER_ARRAY_FACTORY);factories.add(TypeAdapters.CHARACTER_FACTORY);factories.add(TypeAdapters.STRING_BUILDER_FACTORY);factories.add(TypeAdapters.STRING_BUFFER_FACTORY);factories.add(TypeAdapters.newFactory(BigDecimal.class, TypeAdapters.BIG_DECIMAL));factories.add(TypeAdapters.newFactory(BigInteger.class, TypeAdapters.BIG_INTEGER));factories.add(TypeAdapters.URL_FACTORY);factories.add(TypeAdapters.URI_FACTORY);factories.add(TypeAdapters.UUID_FACTORY);factories.add(TypeAdapters.CURRENCY_FACTORY);factories.add(TypeAdapters.LOCALE_FACTORY);factories.add(TypeAdapters.INET_ADDRESS_FACTORY);factories.add(TypeAdapters.BIT_SET_FACTORY);factories.add(DateTypeAdapter.FACTORY);factories.add(TypeAdapters.CALENDAR_FACTORY);factories.add(TimeTypeAdapter.FACTORY);factories.add(SqlDateTypeAdapter.FACTORY);factories.add(TypeAdapters.TIMESTAMP_FACTORY);factories.add(ArrayTypeAdapter.FACTORY);factories.add(TypeAdapters.CLASS_FACTORY);factories.add(new CollectionTypeAdapterFactory(this.constructorConstructor));factories.add(new MapTypeAdapterFactory(this.constructorConstructor, complexMapKeySerialization));this.jsonAdapterFactory = new JsonAdapterAnnotationTypeAdapterFactory(this.constructorConstructor);factories.add(this.jsonAdapterFactory);factories.add(TypeAdapters.ENUM_FACTORY);factories.add(new ReflectiveTypeAdapterFactory(this.constructorConstructor, fieldNamingStrategy, excluder, this.jsonAdapterFactory));this.factories = Collections.unmodifiableList(factories);}public GsonBuilder newBuilder() {return new GsonBuilder(this);}public Excluder excluder() {return this.excluder;}public FieldNamingStrategy fieldNamingStrategy() {return this.fieldNamingStrategy;}public boolean serializeNulls() {return this.serializeNulls;}public boolean htmlSafe() {return this.htmlSafe;}private TypeAdapter<Number> doubleAdapter(boolean serializeSpecialFloatingPointValues) {return serializeSpecialFloatingPointValues ? TypeAdapters.DOUBLE : new TypeAdapter<Number>() {public Double read(JsonReader in) throws IOException {if (in.peek() == JsonToken.NULL) {in.nextNull();return null;} else {return in.nextDouble();}}public void write(JsonWriter out, Number value) throws IOException {if (value == null) {out.nullValue();} else {double doubleValue = value.doubleValue();Gson.checkValidFloatingPoint(doubleValue);out.value(value);}}};}private TypeAdapter<Number> floatAdapter(boolean serializeSpecialFloatingPointValues) {return serializeSpecialFloatingPointValues ? TypeAdapters.FLOAT : new TypeAdapter<Number>() {public Float read(JsonReader in) throws IOException {if (in.peek() == JsonToken.NULL) {in.nextNull();return null;} else {return (float)in.nextDouble();}}public void write(JsonWriter out, Number value) throws IOException {if (value == null) {out.nullValue();} else {float floatValue = value.floatValue();Gson.checkValidFloatingPoint((double)floatValue);out.value(value);}}};}static void checkValidFloatingPoint(double value) {if (Double.isNaN(value) || Double.isInfinite(value)) {throw new IllegalArgumentException(value + " is not a valid double value as per JSON specification. To override this behavior, use GsonBuilder.serializeSpecialFloatingPointValues() method.");}}private static TypeAdapter<Number> longAdapter(LongSerializationPolicy longSerializationPolicy) {return longSerializationPolicy == LongSerializationPolicy.DEFAULT ? TypeAdapters.LONG : new TypeAdapter<Number>() {public Number read(JsonReader in) throws IOException {if (in.peek() == JsonToken.NULL) {in.nextNull();return null;} else {return in.nextLong();}}public void write(JsonWriter out, Number value) throws IOException {if (value == null) {out.nullValue();} else {out.value(value.toString());}}};}private static TypeAdapter<AtomicLong> atomicLongAdapter(final TypeAdapter<Number> longAdapter) {return (new TypeAdapter<AtomicLong>() {public void write(JsonWriter out, AtomicLong value) throws IOException {longAdapter.write(out, value.get());}public AtomicLong read(JsonReader in) throws IOException {Number value = (Number)longAdapter.read(in);return new AtomicLong(value.longValue());}}).nullSafe();}private static TypeAdapter<AtomicLongArray> atomicLongArrayAdapter(final TypeAdapter<Number> longAdapter) {return (new TypeAdapter<AtomicLongArray>() {public void write(JsonWriter out, AtomicLongArray value) throws IOException {out.beginArray();int i = 0;for(int length = value.length(); i < length; ++i) {longAdapter.write(out, value.get(i));}out.endArray();}public AtomicLongArray read(JsonReader in) throws IOException {List<Long> list = new ArrayList();in.beginArray();while(in.hasNext()) {long value = ((Number)longAdapter.read(in)).longValue();list.add(value);}in.endArray();int length = list.size();AtomicLongArray array = new AtomicLongArray(length);for(int i = 0; i < length; ++i) {array.set(i, (Long)list.get(i));}return array;}}).nullSafe();}public <T> TypeAdapter<T> getAdapter(TypeToken<T> type) {TypeAdapter<?> cached = (TypeAdapter)this.typeTokenCache.get(type == null ? NULL_KEY_SURROGATE : type);if (cached != null) {return cached;} else {Map<TypeToken<?>, Gson.FutureTypeAdapter<?>> threadCalls = (Map)this.calls.get();boolean requiresThreadLocalCleanup = false;if (threadCalls == null) {threadCalls = new HashMap();this.calls.set(threadCalls);requiresThreadLocalCleanup = true;}Gson.FutureTypeAdapter<T> ongoingCall = (Gson.FutureTypeAdapter)((Map)threadCalls).get(type);if (ongoingCall != null) {return ongoingCall;} else {try {Gson.FutureTypeAdapter<T> call = new Gson.FutureTypeAdapter();((Map)threadCalls).put(type, call);Iterator var7 = this.factories.iterator();TypeAdapter candidate;do {if (!var7.hasNext()) {throw new IllegalArgumentException("GSON (2.8.5) cannot handle " + type);}TypeAdapterFactory factory = (TypeAdapterFactory)var7.next();candidate = factory.create(this, type);} while(candidate == null);call.setDelegate(candidate);this.typeTokenCache.put(type, candidate);TypeAdapter var10 = candidate;return var10;} finally {((Map)threadCalls).remove(type);if (requiresThreadLocalCleanup) {this.calls.remove();}}}}}public <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type) {if (!this.factories.contains(skipPast)) {skipPast = this.jsonAdapterFactory;}boolean skipPastFound = false;Iterator var4 = this.factories.iterator();while(var4.hasNext()) {TypeAdapterFactory factory = (TypeAdapterFactory)var4.next();if (!skipPastFound) {if (factory == skipPast) {skipPastFound = true;}} else {TypeAdapter<T> candidate = factory.create(this, type);if (candidate != null) {return candidate;}}}throw new IllegalArgumentException("GSON cannot serialize " + type);}public <T> TypeAdapter<T> getAdapter(Class<T> type) {return this.getAdapter(TypeToken.get(type));}public JsonElement toJsonTree(Object src) {return (JsonElement)(src == null ? JsonNull.INSTANCE : this.toJsonTree(src, src.getClass()));}public JsonElement toJsonTree(Object src, Type typeOfSrc) {JsonTreeWriter writer = new JsonTreeWriter();this.toJson(src, typeOfSrc, (JsonWriter)writer);return writer.get();}public String toJson(Object src) {return src == null ? this.toJson((JsonElement)JsonNull.INSTANCE) : this.toJson((Object)src, (Type)src.getClass());}public String toJson(Object src, Type typeOfSrc) {StringWriter writer = new StringWriter();this.toJson(src, typeOfSrc, (Appendable)writer);return writer.toString();}public void toJson(Object src, Appendable writer) throws JsonIOException {if (src != null) {this.toJson(src, src.getClass(), (Appendable)writer);} else {this.toJson((JsonElement)JsonNull.INSTANCE, (Appendable)writer);}}public void toJson(Object src, Type typeOfSrc, Appendable writer) throws JsonIOException {try {JsonWriter jsonWriter = this.newJsonWriter(Streams.writerForAppendable(writer));this.toJson(src, typeOfSrc, jsonWriter);} catch (IOException var5) {throw new JsonIOException(var5);}}public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOException {TypeAdapter<?> adapter = this.getAdapter(TypeToken.get(typeOfSrc));boolean oldLenient = writer.isLenient();writer.setLenient(true);boolean oldHtmlSafe = writer.isHtmlSafe();writer.setHtmlSafe(this.htmlSafe);boolean oldSerializeNulls = writer.getSerializeNulls();writer.setSerializeNulls(this.serializeNulls);try {adapter.write(writer, src);} catch (IOException var13) {throw new JsonIOException(var13);} catch (AssertionError var14) {throw new AssertionError("AssertionError (GSON 2.8.5): " + var14.getMessage(), var14);} finally {writer.setLenient(oldLenient);writer.setHtmlSafe(oldHtmlSafe);writer.setSerializeNulls(oldSerializeNulls);}}public String toJson(JsonElement jsonElement) {StringWriter writer = new StringWriter();this.toJson((JsonElement)jsonElement, (Appendable)writer);return writer.toString();}public void toJson(JsonElement jsonElement, Appendable writer) throws JsonIOException {try {JsonWriter jsonWriter = this.newJsonWriter(Streams.writerForAppendable(writer));this.toJson(jsonElement, jsonWriter);} catch (IOException var4) {throw new JsonIOException(var4);}}public JsonWriter newJsonWriter(Writer writer) throws IOException {if (this.generateNonExecutableJson) {writer.write(")]}'\n");}JsonWriter jsonWriter = new JsonWriter(writer);if (this.prettyPrinting) {jsonWriter.setIndent("  ");}jsonWriter.setSerializeNulls(this.serializeNulls);return jsonWriter;}public JsonReader newJsonReader(Reader reader) {JsonReader jsonReader = new JsonReader(reader);jsonReader.setLenient(this.lenient);return jsonReader;}public void toJson(JsonElement jsonElement, JsonWriter writer) throws JsonIOException {boolean oldLenient = writer.isLenient();writer.setLenient(true);boolean oldHtmlSafe = writer.isHtmlSafe();writer.setHtmlSafe(this.htmlSafe);boolean oldSerializeNulls = writer.getSerializeNulls();writer.setSerializeNulls(this.serializeNulls);try {Streams.write(jsonElement, writer);} catch (IOException var11) {throw new JsonIOException(var11);} catch (AssertionError var12) {throw new AssertionError("AssertionError (GSON 2.8.5): " + var12.getMessage(), var12);} finally {writer.setLenient(oldLenient);writer.setHtmlSafe(oldHtmlSafe);writer.setSerializeNulls(oldSerializeNulls);}}public <T> T fromJson(String json, Class<T> classOfT) throws JsonSyntaxException {Object object = this.fromJson((String)json, (Type)classOfT);return Primitives.wrap(classOfT).cast(object);}public <T> T fromJson(String json, Type typeOfT) throws JsonSyntaxException {if (json == null) {return null;} else {StringReader reader = new StringReader(json);T target = this.fromJson((Reader)reader, (Type)typeOfT);return target;}}public <T> T fromJson(Reader json, Class<T> classOfT) throws JsonSyntaxException, JsonIOException {JsonReader jsonReader = this.newJsonReader(json);Object object = this.fromJson((JsonReader)jsonReader, (Type)classOfT);assertFullConsumption(object, jsonReader);return Primitives.wrap(classOfT).cast(object);}public <T> T fromJson(Reader json, Type typeOfT) throws JsonIOException, JsonSyntaxException {JsonReader jsonReader = this.newJsonReader(json);T object = this.fromJson(jsonReader, typeOfT);assertFullConsumption(object, jsonReader);return object;}private static void assertFullConsumption(Object obj, JsonReader reader) {try {if (obj != null && reader.peek() != JsonToken.END_DOCUMENT) {throw new JsonIOException("JSON document was not fully consumed.");}} catch (MalformedJsonException var3) {throw new JsonSyntaxException(var3);} catch (IOException var4) {throw new JsonIOException(var4);}}public <T> T fromJson(JsonReader reader, Type typeOfT) throws JsonIOException, JsonSyntaxException {boolean isEmpty = true;boolean oldLenient = reader.isLenient();reader.setLenient(true);TypeAdapter typeAdapter;try {try {reader.peek();isEmpty = false;TypeToken<T> typeToken = TypeToken.get(typeOfT);typeAdapter = this.getAdapter(typeToken);T object = typeAdapter.read(reader);Object var8 = object;return var8;} catch (EOFException var15) {if (!isEmpty) {throw new JsonSyntaxException(var15);}} catch (IllegalStateException var16) {throw new JsonSyntaxException(var16);} catch (IOException var17) {throw new JsonSyntaxException(var17);} catch (AssertionError var18) {throw new AssertionError("AssertionError (GSON 2.8.5): " + var18.getMessage(), var18);}typeAdapter = null;} finally {reader.setLenient(oldLenient);}return typeAdapter;}public <T> T fromJson(JsonElement json, Class<T> classOfT) throws JsonSyntaxException {Object object = this.fromJson((JsonElement)json, (Type)classOfT);return Primitives.wrap(classOfT).cast(object);}public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException {return json == null ? null : this.fromJson((JsonReader)(new JsonTreeReader(json)), (Type)typeOfT);}public String toString() {return "{serializeNulls:" + this.serializeNulls + ",factories:" + this.factories + ",instanceCreators:" + this.constructorConstructor + "}";}static class FutureTypeAdapter<T> extends TypeAdapter<T> {private TypeAdapter<T> delegate;FutureTypeAdapter() {}public void setDelegate(TypeAdapter<T> typeAdapter) {if (this.delegate != null) {throw new AssertionError();} else {this.delegate = typeAdapter;}}public T read(JsonReader in) throws IOException {if (this.delegate == null) {throw new IllegalStateException();} else {return this.delegate.read(in);}}public void write(JsonWriter out, T value) throws IOException {if (this.delegate == null) {throw new IllegalStateException();} else {this.delegate.write(out, value);}}}
}

(2)CloseableHttpResponse工具包

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package org.apache.http.impl.execchain;import java.io.IOException;
import java.util.Locale;
import org.apache.http.Header;
import org.apache.http.HeaderIterator;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ProtocolVersion;
import org.apache.http.StatusLine;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.params.HttpParams;class HttpResponseProxy implements CloseableHttpResponse {private final HttpResponse original;private final ConnectionHolder connHolder;public HttpResponseProxy(HttpResponse original, ConnectionHolder connHolder) {this.original = original;this.connHolder = connHolder;ResponseEntityProxy.enchance(original, connHolder);}public void close() throws IOException {if (this.connHolder != null) {this.connHolder.close();}}public StatusLine getStatusLine() {return this.original.getStatusLine();}public void setStatusLine(StatusLine statusline) {this.original.setStatusLine(statusline);}public void setStatusLine(ProtocolVersion ver, int code) {this.original.setStatusLine(ver, code);}public void setStatusLine(ProtocolVersion ver, int code, String reason) {this.original.setStatusLine(ver, code, reason);}public void setStatusCode(int code) throws IllegalStateException {this.original.setStatusCode(code);}public void setReasonPhrase(String reason) throws IllegalStateException {this.original.setReasonPhrase(reason);}public HttpEntity getEntity() {return this.original.getEntity();}public void setEntity(HttpEntity entity) {this.original.setEntity(entity);}public Locale getLocale() {return this.original.getLocale();}public void setLocale(Locale loc) {this.original.setLocale(loc);}public ProtocolVersion getProtocolVersion() {return this.original.getProtocolVersion();}public boolean containsHeader(String name) {return this.original.containsHeader(name);}public Header[] getHeaders(String name) {return this.original.getHeaders(name);}public Header getFirstHeader(String name) {return this.original.getFirstHeader(name);}public Header getLastHeader(String name) {return this.original.getLastHeader(name);}public Header[] getAllHeaders() {return this.original.getAllHeaders();}public void addHeader(Header header) {this.original.addHeader(header);}public void addHeader(String name, String value) {this.original.addHeader(name, value);}public void setHeader(Header header) {this.original.setHeader(header);}public void setHeader(String name, String value) {this.original.setHeader(name, value);}public void setHeaders(Header[] headers) {this.original.setHeaders(headers);}public void removeHeader(Header header) {this.original.removeHeader(header);}public void removeHeaders(String name) {this.original.removeHeaders(name);}public HeaderIterator headerIterator() {return this.original.headerIterator();}public HeaderIterator headerIterator(String name) {return this.original.headerIterator(name);}public HttpParams getParams() {return this.original.getParams();}public void setParams(HttpParams params) {this.original.setParams(params);}public String toString() {StringBuilder sb = new StringBuilder("HttpResponseProxy{");sb.append(this.original);sb.append('}');return sb.toString();}
}

(3)StringEntity工具包

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package org.apache.http.entity;import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.Args;public class StringEntity extends AbstractHttpEntity implements Cloneable {protected final byte[] content;public StringEntity(String string, ContentType contentType) throws UnsupportedCharsetException {Args.notNull(string, "Source string");Charset charset = contentType != null ? contentType.getCharset() : null;if (charset == null) {charset = HTTP.DEF_CONTENT_CHARSET;}this.content = string.getBytes(charset);if (contentType != null) {this.setContentType(contentType.toString());}}/** @deprecated */@Deprecatedpublic StringEntity(String string, String mimeType, String charset) throws UnsupportedEncodingException {Args.notNull(string, "Source string");String mt = mimeType != null ? mimeType : "text/plain";String cs = charset != null ? charset : "ISO-8859-1";this.content = string.getBytes(cs);this.setContentType(mt + "; charset=" + cs);}public StringEntity(String string, String charset) throws UnsupportedCharsetException {this(string, ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset));}public StringEntity(String string, Charset charset) {this(string, ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset));}public StringEntity(String string) throws UnsupportedEncodingException {this(string, ContentType.DEFAULT_TEXT);}public boolean isRepeatable() {return true;}public long getContentLength() {return (long)this.content.length;}public InputStream getContent() throws IOException {return new ByteArrayInputStream(this.content);}public void writeTo(OutputStream outStream) throws IOException {Args.notNull(outStream, "Output stream");outStream.write(this.content);outStream.flush();}public boolean isStreaming() {return false;}public Object clone() throws CloneNotSupportedException {return super.clone();}
}

(4)HttpPost工具包

(1)接口层

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package org.apache.http.client.methods;import java.net.URI;public class HttpPost extends HttpEntityEnclosingRequestBase {public static final String METHOD_NAME = "POST";public HttpPost() {}public HttpPost(URI uri) {this.setURI(uri);}public HttpPost(String uri) {this.setURI(URI.create(uri));}public String getMethod() {return "POST";}
}

(5)CredentialsProvider工具包

(1)接口层

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package org.apache.http.client;import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;public interface CredentialsProvider {void setCredentials(AuthScope var1, Credentials var2);Credentials getCredentials(AuthScope var1);void clear();
}

3.在postman调用接口(传入给的json格式数据)

http://网关地址:端口号/服务名称/接口地址
再传入json,等待响应,当后台读取到你传输的json,就说明接口通了
此时把接口返回给sap,等待数据返回

从sap获取数据写入数据库操作相关推荐

  1. uni-app利用uniCloud获取微信步数并将数据写入数据库

    uni-app利用uniCloud获取微信步数并将数据写入数据库 本项目依赖了uni-id 只是毕业设计,想法不完善,没有对用户授权失败做处理,如果编写的时候需要注意 第一步:调用wx.login() ...

  2. 根据现有的API接口将获取JSON数据写入数据库

    根据现有的API接口将获取JSON数据写入数据库 利用API将获取数据存入数据库 获取API的URl 的原则 例如网址API的网址为:https://wuliang.art/ncov/doc.html ...

  3. 将数据写入数据库:打开数据库,建库建表,通过php访问后台服务器(连接服务器(三种),选择数据库,设置字符集:防止数据乱码),通过php对数据库进行:增,删,改,查,操作

    前端表单设计以后,需要把数据写入数据库 将数据写入数据库:         如果涉及php.sql,wamp服务器必须打开         wamp里面有一个专门,图形化的移动窗口:          ...

  4. php ajax操作数据库,php + ajax 实现的写入数据库操作简单示例

    本文实例讲述了php+ ajax 实现的写入数据库操作.分享给大家供大家参考,具体如下: 这个是最简单的表单提交  延伸:后面有很多需要提交的信息 如何快速部署接口 此例子是移动端H5页面,使用的是z ...

  5. Flume 1.7 源码分析(五)从Channel获取数据写入Sink

    Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 Flume 1.7 源码分析(三)程序入口 Flume 1.7 源码分析(四)从Source写数据到Channe ...

  6. 将json文件里面的数据写入数据库

    {"title_": "需要电脑/招视频剪辑学徒>18岁", "area_": " 不限区域", "vi ...

  7. Java读取Excel文件并将之写入数据库操作

    一.添加需要的包依赖 <!--读取excel文件所需要的包--> <dependency><groupId>org.apache.poi</groupId&g ...

  8. python数据库实现注册函数_10.注册和登录功能实现(3)—— 注册数据写入数据库...

    现在数据获取到了,提示也有了,我们需要把注册的数据写入到数据库,这一步很简单,直接使用之前提到过的方法,但是我们不能直接把明文密码写入到数据库中,那样做是十分不安全的,我们需要将其加密之后再写进去,具 ...

  9. Python3 大型网络爬虫实战 004 — scrapy 大型静态商城网站爬虫项目编写及数据写入数据库实战 — 实战:爬取淘宝

    原博文链接:http://www.aobosir.com/blog/2016/12/26/python3-large-web-crawler-taobao-com-import-to-MySQL-da ...

  10. java写数据进mysql_java怎样将读取数据写入数据库

    展开全部 Java可以使用JDBC对数32313133353236313431303231363533e4b893e5b19e31333366306566据库进行读写.JDBC访问一般分为如下流程: ...

最新文章

  1. 献上程序员大学四年珍藏的30个宝藏网站,全部拿出来
  2. java xml签名_Java使用DSA密钥对生成XML签名的方法
  3. sql怎么修改服务器角色,创建、删除或修改角色 (Management Studio)
  4. ssm read time out的原因_自检轮胎暗漏原因_什么是自检轮胎暗漏原因
  5. 对于python命令行,你应该这么做才专业
  6. eclipse如何创建web项目
  7. Java利用itext实现导出PDF文件
  8. Spring注解之精进之路--超级详解
  9. Java小农养成记第一天
  10. 谷歌:科技让世界更美好
  11. PHPMYSQL物联网监控系统Web端
  12. 2剪切移位镜像反射旋转
  13. java 线程池超时_线程池中如何控制超时时间?
  14. 单枪匹马:4年只做一个iOS游戏 收入破千万美元
  15. HTML+CSS 仿写淘宝商城分类导航
  16. WZOI-293表演
  17. 动力传动系统仿真测试解决方案
  18. MySQL Workbench 8.0 汉化包
  19. autocad二开入门
  20. leetcode : generate parenthese

热门文章

  1. [渝粤教育] 中国农业大学 大学计算机基础 参考 资料
  2. 前端js实现中文转五笔和拼音首字母
  3. 遗传算法——matlab实现
  4. python深度学习——手写字符识别
  5. 源码-PL/SQL从入门到精通-第四章-PL/SQL控制语句
  6. Oracle PLSQL 从入门到精通
  7. python输出语句怎么换行_python输出语句换行
  8. Java并发包提供了哪些并发工具类?
  9. xshell和xftp免费版下载地址
  10. C#TTS语音播报带背景音乐