#java #rest #authentication
#java #rest #аутентификация
Вопрос:
В настоящее время я разрабатываю настольное приложение, написанное на JavaFX FXML, и мне нужно подключиться к удаленному RESTful API, который я написал в NodeJS. Я пытался найти обновленную ссылку, соответствующую JDK 11 и выше, но, похоже, большинство хороших ссылок, которые я нахожу, либо весной, либо были написаны по крайней мере 3 года назад.
Кто-нибудь может указать мне правильное направление? Спасибо.
Комментарии:
1. опять же, это выглядит не связанным с fx .. как вы думаете, почему fx имеет к этому какое-либо отношение?
Ответ №1:
Это то, что я придумал до сих пор. Это кажется примитивным и болтливым по сравнению с тем, что я привык использовать AJAX и Axios, но, тем не менее, работает:
private void btnLoginClick() throws IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8000/api/auth");
httpPost.addHeader("accept", "application/json");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email", username.getText()));
params.add(new BasicNameValuePair("password", password.getText()));
httpPost.setEntity(new UrlEncodedFormEntity(params));
try {
CloseableHttpResponse response = httpclient.execute(httpPost);
HttpEntity entity = response.getEntity();
String data = EntityUtils.toString(entity);
JSONObject json = new JSONObject(data);
EntityUtils.consume(entity);
response.close();
// Do more processing here...
} catch (IOException e) {
Alert a = new Alert(AlertType.ERROR);
a.setContentText("Login: Unable to connect to server. Check your connection or try at a later time. To report this error please contact m@jhourlad.com.");
a.show();
} finally {
httpclient.close();
}
}