Ingrese fecha y hora formateadas en Swing para obtener nodos usando GET REST

Se requiere que ingrese la hora de inicio y la hora de finalización y en swing java que enviaré a una URL para obtener algunos nodos seleccionados creados en este momento usando GET RESTcall. URLes:

http://wisekar.iitd.ernet.in/active/api_resources.php/method/mynode
    ?key=YOUR_API_KEY_HERE
    &startTime=START_TIME[Optional]
    &endTime=END_TIME[Optional]en

El sitio web tomará la entrada (marcas de tiempo) como se dan en la imagen.

Captura de pantalla de mi ventana

ingrese la descripción de la imagen aquí

Ahora mi código está aquí:

class Algorithm extends JFrame implements ActionListener {

    private static String ENDPOINT =
            "http://wisekar.iitd.ernet.in/active/api_"
            + "resources.php/method/mynode.json?key=api_key";

    Algorithm() {
       // label1 = new JLabel();.....

        panel = new JPanel(new GridLayout(5, 2));
        //adding in panel label1,text1 ... 
        add(panel, BorderLayout.CENTER);
        SUBMIT.addActionListener(this);
        setTitle("Optimal Travel Route");
    }

    public void actionPerformed(ActionEvent ae) {
        try {
            //String value1 = text1.getText();..

            URL url = new URL(ENDPOINT + "&datasetId=" + value3
                    + "&startTime=" + value1 + "&endTime=" + value2);
            System.out.println(url);
            HttpURLConnection httpCon;
            httpCon = (HttpURLConnection) url.openConnection();
            httpCon.setDoInput(true);
            System.out.println(httpCon.getResponseCode());
            System.out.println(httpCon.getResponseMessage());
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    httpCon.getInputStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
            in.close();
        } catch (IOException ex) {
            Logger.getLogger(Algorithm.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

class AlgorithmDemo {

    public static void main(String arg[]) {
        try {
            Algorithm frame = new Algorithm();
            frame.setSize(450, 200);
            frame.setVisible(true);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
}

He intentado todo; Lo he comentado Con este código, obtengo los nodos cuando escribo la URL generada en el navegador, pero no muestra el resultado en la consola cuando imprimo. ¿Qué esta mal en mi codigo? ¿Alguien puede decirme cómo se debe pasar la fecha y la hora al GET? Por favor ayuda. Cuando solo ingreso la ID del conjunto de datos, me da todos los nodos de esa ID del conjunto de datos. Según yo, hay algún problema al pasar las marcas de tiempo.

Respuesta 1

Lamentablemente, cuando realicé una prueba rápida, obtuve una respuesta no autorizada. Pero parece que el problema es que la cadena no es segura para la URL. Necesitas asegurarte de que tus espacios se conviertan en% 20. Esta también será la razón por la que funciona usando un navegador, ya que la barra de direcciones del navegador lo hará por usted detrás de escena. Si utiliza:

String urlSafeValue1 = URLEncoder.encode(value1, "UTF-8");
String urlSafeValue2 = URLEncoder.encode(value2, "UTF-8");
String urlSafeValue3 = URLEncoder.encode(value3, "UTF-8");

Los argumentos serán url seguros.

Respuesta: 2

prueba esto mi amigo ...

String httpURL = ENDPOINT + URLEncoder.encode("&datasetId=" + value3
                 + "&startTime=" + value1 + "&endTime=" + value2, "UTF-8");
URLConnection urlConnection = new URL(httpURL).openConnection();
urlConnection.connect();
Respuesta: 3

Estoy usando una cuadrícula para mostrar clasificaciones de jugadores. La lista está ordenada por varios comparadores en el back-end, pero aún puede haber escenarios en los que 2 filas tengan la misma clasificación. En el siguiente ejemplo, el ...

Estoy tratando de conectarme a una base de datos interbase heredada usando jdbc, aquí está mi código try {Class.forName ("interbase.interclient.Driver"); Connection connection = DriverManager.getConnection ("jdbc: ...

En JSF, ¿cómo puedo invocar el método en caso de que falle la conversión en cualquiera de los campos de entrada? Creo que puedo escribir mis propios convertidores y hacer todas las cosas allí, pero ¿no hay una manera más simple?

Según las características del lenguaje Use Java 8, las referencias de métodos son compatibles con cualquier minSdkVersion, entonces ¿por qué la referencia de métodos requiere el nivel 22 de API? Actualmente, estoy usando Android Studio 3.2.1 con com ....