Как использовать веб-службу Rest с помощью RestTemplate? - PullRequest
0 голосов
/ 03 августа 2020

Я хочу получить значение команды GET. Для этого я написал следующий код:

public String getToken() throws URISyntaxException, IOException {
    CloseableHttpClient client = HttpClientBuilder.create().build();
    HttpGet get = new HttpGet(new URI("http://localhost:3333/command/core/get-csrf-token"));
    HttpEntity entity = client.execute(get).getEntity();
    JSONObject jsonObject = new JSONObject(EntityUtils.toString(entity));
    String token = jsonObject.getString("token");
    System.out.println(token);
    return token;
}

Однако теперь я хотел бы сделать то же самое, но с использованием RestTemplate. Итак, я написал следующий контроллер:

@RestController
@RequestMapping("/myapp")
public class TokenController {

@Autowired
private RestTemplate restTemplate;

@GetMapping("/command/core/get-csrf-token")
public String getToken() {
    String url = "http://localhost:3333/command/core/get-csrf-token";
    JSONObject jsonObject = new JSONObject(restTemplate.getForEntity(url, JSONObject.class));
    String token = jsonObject.getString("token");

    return token;
}

Однако, когда я go до http://localhost: 3333 / myapp / command / core / get-csrf-token, я получаю ошибку 404.

...