geri çağırır Geri arama çağrısını kullanmak için bahar önyükleme örneğini (example here) izledim ve api: http://gturnquist-quoters.cfapps.io/api/random'u arayarak iyi çalıştı.Spring Boot RestTemplate Bir API çağrısı, 403
Ancak GiantBomb'ın çağrı çağrılarını aramayı denedim ve 403 numaralı hatayı alıyorum. = Oyun & field_list = güverte, id http://www.giantbomb.com/api/search/?api_key=[my_key]&format=json&query= "halo" & kaynaklar: (oyunlar gibi db API çağrısı here)
API çağrısı gibi diğer API ile bu çalıştı rağmen yanı çağırır ve onlar da 403 neden , image, name, platform
Yay önyükleme yapılandırmayla ilgili temel yöntemim.
@SpringBootApplication
public class ApplicationExecuter {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(ApplicationExecuter.class, args);
String url = GiantBombApiInfo.API_BASE_URL + "search/?api_key=" + GiantBombApiInfo.API_KEY + "&format=json&query=" + "\"" + "halo" + "\"" +"&resources=game"
+"&field_list=deck,id,image,name,platform";
System.out.println(url);
RestTemplate template = new RestTemplate();
ResponseEntity<Game[]> response = template.getForEntity(url , Game[].class);
Game[] games = response.getBody();
}
}
http://www.giantbomb.com/api/ Hangi API_BASE_URL olduğunu. Tarayıcımla çalışıyorum ve tarayıcıya erişmeye çalıştığım URL'yi basıyorum.
Tam olarak template.getForEntity (url, Game []. Class) aradığımda hata gerçekleşir; yani bedeni kullanamaya bile değinmiyorum. pom dosya feryat olduğunu
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.web.client.HttpClientErrorException: 403 Forbidden
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:264)
at core.exec.ApplicationExecuter.main(ApplicationExecuter.java:38)
... 6 more
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
... 1 more
Caused by: org.springframework.web.client.HttpClientErrorException: 403 Forbidden
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:264)
at core.exec.ApplicationExecuter.main(ApplicationExecuter.java:38)
: Burada
StackTrace olduğunu ben de json sonucu tüketecek Oyun sınıf kodunu sağlayabilir<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.application</groupId>
<artifactId>appTest</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>2.0.2-beta</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
ama dediğim gibi Bunun gerçekleşmesinden önce hatayı al. Ancak bir cevap için daha fazla ayrıntıya ihtiyacınız varsa lütfen bize bildirin.
Kodda neyin eksik olduğunu söyler misiniz?
Teşekkürler @neal! forumdaki tartışmaya dayanarak, bir kullanıcı-aracı ayarlamak zorunda kaldım. – Salman9