Я не уверен, полностью ли я понимаю причину этого.Но ответ на этот вопрос тесно зависит от технологии, которую вы хотите использовать для HTTP-клиента, типа запроса / ответа и базы данных и стратегии NoSQL, которую вы хотите использовать.В качестве предложения вы можете создать два класса данных, RequestDummy
и ResponseDummy
со всеми необходимыми полями, которые вам нужны, и использовать что-то вроде gson для их сериализации или десериализации и сохранения их в виде файла JSON с базой данных.быть более читабельным.Пример:
class RequestDummy {
String url;
String method; // (GET|HEAD|POST|PUT|PATCH|DELETE)
Map<String, String> headers;
String payload; // For (POST|PUT|PATCH) use Base64 to encode the binary to String
}
class ResponseDummy {
Map<String, String> headers;
int statusCode;
String body; // use Base64 to encode the binary to String
}
И использовать их во время HTTP-вызова (кратко, чтобы просто объяснить идею):
// Initialize RequestDummy
RequestDummy req ...
HttpURLConnection con = (HttpURLConnection) new URL(req.url).openConnection();
// optional default is GET
con.setRequestMethod(req.method);
req.headers.entrySet().forEach(e -> con.setRequestProperty(e.getKey(), e.getValue()));
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader());
byte[] data = con.getInputStream().readAllBytes() // Java9
// Initialize ResponseDummy
RequestDummy req ...
in.close();
В 99% хранение запросов и ответов - плохой дизайн.В качестве рекомендации не рекомендуется хранить HTTP-запрос и ответ для любого использования.Они предназначены только для связи, вы должны хранить запрошенные данные, на основе которых построен HTTP-запрос, и сгенерированные данные из ответа HTTP.