Я создал класс, который содержит эти строки кода ниже.
private String app_key = "XXXXXXXXXXXXXXXXX";
private String app_secret = "XXXXXXXXXXXXXX";
private String appKeySecret = app_key + ":" + app_secret;
private byte[] bytes = appKeySecret.getBytes(StandardCharsets.ISO_8859_1);
private String auth = Base64.encode(bytes);
private OkHttpClient client = new OkHttpClient();
private Request request = new Request.Builder()
.url("https://sandbox.safaricom.co.ke/oauth/v1/generate?grant_type=client_credentials")
.get()
.addHeader("authorization", "Basic " + auth)
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
У меня также есть контроллер с Get Mapping, который выглядит следующим образом
@GetMapping("/auth_token")
public ResponseEntity<MpesaAuth> getToken(@RequestBody Mauth mAuth){
return new ResponseEntity<>(mpesaAuth, HttpStatus.OK);
}
Но когда я тестирую конечную точку в почтовом отделении, я получаю следующую ошибку
"timestamp": "2019-09-25T17:26:07.522+0000",
"status": 400,
"error": "Bad Request",
"message": "Required request body is missing: public org.springframework.http.ResponseEntity<com.findfix.payment.config.Mauth> com.findfix.payment.controllers.PaymentController.getToken(com.findfix.payment.config.MpesaAuth)",
"path": "/api/mypayment/v1/auth_token"
}
Чего мне не хватать.Заранее спасибо.