Salve, avevo chiesto aiuto per un altra problematica dove non riuscivo a stabilire una connessione con un sito contenente un database in formato json protetto da api key. CI sono riuscito alla fine; il problema è che non riesco ad implementarlo correttamente usando springboot e visualizzarlo quindi in postman.
Allora volevo chiedervi gentilmente una mano per comprendere dove sbaglio, se ho sbagliato a chiamare la funzione nel controller, o mancano delle librerie, oppure ho sbagliato completamente approccio per far visualizzare i dati.
Perchè al momento dell'esecuzione, su postman mi esce l'errore 406 con scritto:
"error": "Not Acceptable",
"trace": "org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
Mentre in java mi esce questo errore in console:
Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
2021-12-22 09:03:07.167 INFO 15196 --- [on(2)-127.0.0.1] inMXBeanRegistrar$SpringApplicationAdmin : Application shutdown requested.
Qui sotto vi scrivo i vari codici che ho usato:
Questa è l'applicazione di lancio di springboot
package It.ProvaConnessione.DemoConnessione;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import It.ProvaConnessione.DemoConnessione.model.CollegamentoApiKey;
@SpringBootApplication
public class DemoConnessioneApplication {
public static void main(String[] args) {
SpringApplication.run(DemoConnessioneApplication.class, args);
}
}
Questo è il mio restcontroller:
package It.ProvaConnessione.DemoConnessione.controller;
import org.springframework.web.bind.annotation.RestController;
import It.ProvaConnessione.DemoConnessione.model.ClasseProva;
import It.ProvaConnessione.DemoConnessione.model.CollegamentoApiKey;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@RestController
public class SimpleRestController {
@GetMapping("/connessione")
public CollegamentoApiKey esempio() {
return new CollegamentoApiKey();
}
}
Infine questo è il codice che contiene il metodo per stabilire una connessione con quella pagina e che se usata da per se mi da il contenuto di quella pagina nella console:
package It.ProvaConnessione.DemoConnessione.model;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.rmi.AccessException;
public class CollegamentoApiKey{
public void func()throws Exception{
URL url = new URL("https://findwork.dev/api/jobs");
URLConnection urlConn = url.openConnection();
urlConn.setRequestProperty("Authorization","Token ****************");
urlConn.setRequestProperty("Accept","*/*");
urlConn.setRequestProperty("Connection","keep-alive");
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));
String line;
line = reader.readLine();
System.out.println(line);
}
}