Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] En que parte del codigo colocarel string "obtener datos"?

yo lo puse asi:

package com.aluracursos.screenmatch;

import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse;

@SpringBootApplication public class ScreenmatchApplication implements CommandLineRunner {

public static void main(String[] args) {
    SpringApplication.run(ScreenmatchApplication.class, args);
}

@Override
public void run(String... args) throws Exception {
    System.out.println("Hola Mundo desde Spring");
    public String obtenerDatos(String String url = "";
    url) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .build();
        HttpResponse<String> response = null;
        try {
            response = client
                    .send(request, HttpResponse.BodyHandlers.ofString());
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

        String json = response.body();
        return json;
    }

}

} y no se si eso estara bien

1 respuesta

¡Hola Susana, espero que estés bien!

Entiendo que estás teniendo dudas sobre dónde colocar el método "obtenerDatos" en tu código. Según el contexto que proporcionaste, el método "obtenerDatos" debe estar dentro de la clase llamada "ConsumoAPI" dentro de un paquete llamado "service". Además, el método debe tener la siguiente firma:

public String obtenerDatos(String url) {
    // Código para consumir la API y obtener los datos
}

Entonces, en tu código, deberías crear una nueva clase llamada "ConsumoAPI" dentro del paquete "service" y colocar el método "obtenerDatos" dentro de esa clase. Algo así:

package com.aluracursos.screenmatch.service;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;

public class ConsumoAPI {
    public String obtenerDatos(String url) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .build();
        HttpResponse<String> response = null;
        try {
            response = client
                    .send(request, HttpResponse.BodyHandlers.ofString());
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

        String json = response.body();
        return json;
    }
}

Espero que esto aclare tus dudas y te ayude a ubicar el método correctamente en tu código. ¡Sigue adelante con tu aprendizaje de Java!

Espero haber ayudado y buenos estudios!