Ich versuche, Datenbank zu erstellen - und ich möchte Daten erhalten, die ich von API benötige, die einen Authentifizierungs -Token haben - ich verwende Java, Spring, MySQL db < /p>
Ich habe ein einfaches Beispiel für das, was ich erreichen möchte - in diesem Beispiel. In diesem Beispiel muss ich keine zusätzliche Header mit Authentifizierung token - und meine Frage. Ich habe etwas.@Component
public class DataLoader implements CommandLineRunner {
private final ObjectMapper mapper;
private final CountryRepository repository;
public DataLoader(ObjectMapper mapper, CountryRepository repository) {
this.mapper = mapper;
this.repository = repository;
}
@Override
public void run(String... args) throws Exception {
List countries = new ArrayList();
JsonNode json;
try {
json = mapper.readValue(new URL("https://api.football-data.org/v4/areas"), JsonNode.class);
} catch (IOException e) {
throw new RuntimeException("Failed to read JSON data", e);
}
JsonNode areas = getAreas(json);
for (JsonNode area : areas) {
countries.add(createCountryFromNode(area));
}
repository.saveAll(countries);
}
private Country createCountryFromNode(JsonNode area) {
String code = area.get("countryCode").asText();
String name = area.get("name").asText();
return new Country(code, name);
}
private JsonNode getAreas(JsonNode json) {
return Optional.ofNullable(json)
.map(j -> j.get("areas"))
.orElseThrow(() -> new IllegalArgumentException("Invalid JSON Object"));
}
}
< /code>
In Beispiel oben, wenn ich ReadValue () -Methode verwende, funktioniert alles gut, ich bekomme JSON und ich kann damit arbeiten - aber wenn ich zum Beispiel verwenden möchte: < /p>
"https://api.football-data.org/v4/competitions/PL"
< /code>
statt: < /p>
"https://api.football-data.org/v4/areas"
< /code>
Meine Antwort sieht so aus: < /p>
"message": "The resource you are looking for is restricted and apparently not within your permissions. Please check your subscription.",
"errorCode": 403
< /code>
habe ein Konto erstellt, ich habe mein persönliches Token bekommen, ich habe jetzt alle Berechtigungen bekommen, aber ich muss dieses Token als Http -Header hinzufügen. JSON von Jackson mit API mit einem Schlüsselmarke? Frühlingsanmerkungen, irgendetwas? Oder vielleicht muss ich "rohe" Java -Klassen verwenden (httprequest, httPesponse usw.)?
JSON von der URL (von API, die einen Authentifizierungs -Token benötigt) Frühling holen ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
React-Native-MSAL mit Authentifizierungs-App auf iOS funktioniert nicht
by Anonymous » » in JavaScript - 0 Replies
- 17 Views
-
Last post by Anonymous
-