使用Spring从休息服务中获得答案时遇到问题

时间:2016-05-10 17:19:08

标签: java spring rest spring-mvc

我是Spring的新手,我无法从休息服务中获得任何回报。我很乐意回答我做错了什么。先谢谢你!

这是我试图获得答案的其他服务: 这是我的代码。

package testi;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import java.util.Arrays;


@SpringBootApplication
public class TestiApplication {

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

public void run(String... args) throws Exception {

    RestTemplate restTemplate = new RestTemplate();

    //Asetettaan otsikkotietueet
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.add("X-ESA-API-KEY", "ROBOT");

    HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
    System.out.println("Testing " + entity.getHeaders());

    String answer = restTemplate.postForObject("https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=MULTISCORE", entity, String.class);
    System.out.println(answer);

    //ResponseEntity<String> response = restTemplate.exchange("https://www.veikkaus.fi/api/v1/sport-games/draws?game-names=MULTISCORE", HttpMethod.GET, entity, String.class);
    //System.out.println(response);

  }
}

1 个答案:

答案 0 :(得分:0)

您提供的API文档似乎表明您尝试访问的API使用GET方法。您正在使用POST方法(restTemplate.postForObject(...))发出请求。

尝试通过restTemplate.getForObject(...)使用GET方法。

通常,在调试REST调用时,除响应正文外,还应检查响应状态代码。在这种情况下,这可能会产生HTTP 405错误,表明出了什么问题。