Извлечение JSON из запроса Rest Rest через службу в веб-приложении - PullRequest
0 голосов
/ 30 мая 2018

Я сделал REST-клиент, отправляющий http-запрос на сервер, получая ответ с JSON-сообщением:

public class TestClass {
    public static String getData() {
        String output = null;
        try {

            URL url = new URL("https://earthquake.usgs.gov/fdsnws/event/1/application.json");//my url i.e fetch data from .
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Accept", "application/json");
            conn.setRequestProperty("Content-Type", "application/json");

            if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP Error code : " + conn.getResponseCode());
            }
            InputStreamReader in = new InputStreamReader(conn.getInputStream());
            BufferedReader br = new BufferedReader(in);

            while ((output = br.readLine()) != null) {
                System.out.println(output); 
            }

            conn.disconnect();

        } catch (Exception e) {
            System.out.println("Exception in TestClass:- " + e);
        }
        return output;
    }
}

Когда я запускаю вышеописанную функцию, я вижу возвращенный JSON.Resonse на стороне сервера (API) выглядит следующим образом:

@Path("/employees") public class employee {

    @GET
    @Path("/getEmployees")
    public String  createNewMassage() {
        return TestClass.getdata();
    }
}

Если я запрашиваю эту ссылку http://localhost/myProject/rest/employees/getEmployees, я не получаю никаких данных, только ошибки:

HTTP-статус 500 - Servlet.init () для сервлета Jersey REST Service выдал исключение


Я пытался изменить его следующим образом:

@Path("/employees")
public class employee {

    @GET
    @Path("/getEmployees")
    public String  createNewMassage() {
        return "WHY THE TEXT SHOW BUT NOT THE REST CLIENT HTTP REQUEST IN JSON  ";
    }
}

В чем проблема?Как я могу решить проблему?

1 Ответ

0 голосов
/ 30 мая 2018

Сначала проверьте, получаете ли вы ответ в своем клиенте:

System.out.println(TestClass.getdata());

Если показать, что проблема заключается в ответе.

Если это ответ, вы можете попытаться добавить ответ какJSON:

@Path("/employees")
public class JSONService {

    @GET
    @Path("/getEmployees")
    @Produces(MediaType.APPLICATION_JSON) //DEFINE RESPONSE
    public String  createNewMassage() {
       return TestClass.getdata();
    }
    //...
...