Как я могу сохранить данные из вывода запроса POST в Java? - PullRequest
0 голосов
/ 11 ноября 2019

Я делаю настольное приложение на Java, которое делает записи в Wordpress через вызовы API для перевода сообщений со старого HTML-сайта на новый. У меня есть этот фрагмент кода, который делает сообщения и работает нормально:

    public void create(Post post){
        try {
            URL url = new URL(Constants.URL_POST);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("POST");
            urlConnection.setRequestProperty("Authorization", "Bearer " + Constants.BEARER_TOKEN);
            urlConnection.setDoOutput(true);
            PrintWriter wr = new PrintWriter(urlConnection.getOutputStream());
            wr.append(createPost(post));
            wr.flush();
            urlConnection.connect(); 
            InputStream is = urlConnection.getInputStream();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));
            StringBuilder response = new StringBuilder(); 
            String line;
            while ((line = rd.readLine()) != null) {
                response.append(line);
                response.append('\r');
            }
            rd.close();
            System.out.println(response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        } 

    }

    private String createPost (Post post){
        s.append("?");
        s.append("&title=").append(post.getTitle());
        s.append("&content=").append(post.getContent());
        s.append("&date=").append(post.getDate());
        s.append("&modified=").append(post.getDate());
        s.append("&categories=").append(post.getCategory());       
        s.append("&status=").append("publish");
        return s.toString();
    }

К некоторым сообщениям прикреплены медиа-файлы, и я прочитал это, чтобы прикрепить медиа-файлы в Wordpress, я должен сначала создать сообщение, а затемприкрепите его, поэтому мне нужно сохранить идентификатор записи, который Wordpress назначает моей записи, и сохранить его с post.setId(), чтобы получить его позже. Как я могу это сделать?

Это вывод в формате JSON (украшенный), который я получаю из этого:


{
    "id": 252,
    "date": "2013-07-10T00:00:00",
    "date_gmt": "2013-07-10T00:00:00",
    "guid": {
        "rendered": "http://localhost/tesi/2013/07/10/test",
        "raw": "http://localhost/tesi/2013/07/10/test"
    },
    "modified": "2013-07-10T00:00:00",
    "modified_gmt": "2013-07-10T00:00:00",
    "password": "",
    "slug": "nulla-osta-n-62-2013-richiesta-autorizzazione-per-un-progetto-di-monitoraggio-ambientale-dellarea-del-centro-olio-val-dagri-pz-2test",
    "status": "publish",
    "type": "post",
    "link": "http://localhost/tesi/2013/07/10/test/",
    "title": {
        "raw": "Test",
        "rendered": "Test"
    },
    "content": {
        "raw": "lorem ipsum",
        "rendered": "lorem ipsum",
        "protected": false,
        "block_version": 0
    },
    "excerpt": {
        "raw": "",
        "rendered": "lorem ipsum",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "comment_status": "open",
    "ping_status": "open",
    "sticky": false,
    "template": "",
    "format": "standard",
    "meta": [],
    "categories": [
        4
    ],
    "tags": [],
    "permalink_template": "http://localhost/tesi/2013/07/10/%postname%/",
    "generated_slug": "test",
    "_links": {
        "self": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "collection": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts"
            }
        ],
        "about": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/types/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/users/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/comments?post=252"
            }
        ],
        "version-history": [
            {
                "count": 0,
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252/revisions"
            }
        ],
        "wp:attachment": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/media?parent=252"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/categories?post=252"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/tags?post=252"
            }
        ],
        "wp:action-publish": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-unfiltered-html": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-sticky": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-assign-author": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-create-categories": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-assign-categories": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-create-tags": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "wp:action-assign-tags": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/252"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https://api.w.org/{rel}",
                "templated": true
            }
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...