В моем приложении ionic 5.0.0 я использую нативный HTTP-интерфейс Cordova для выполнения остальных вызовов. Ниже приведен фрагмент кода моей функции выхода из системы.
Но когда я выполняю эту функцию, я получаю следующую ошибку.
Аргумент "advanced-http: \" data \ "поддерживаеттолько следующие типы данных: String "
logout() {
this.setData("url", "/web/oauth/revoke-token");
let apiUrl = this.getBaseUrl() + this.getData("url");
const headers = {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization': 'Basic Y2hyR3liUnBxQUR3X2VDemw5dzc0cHU4dXNnYTpKdmZ1azgyYnBUQlVnNDJ6NU1hZFhXOWJPeElh'
};
const params = {
'companyId': this.getData("COMPANY_ID"),
'token': this.getData("ACCESS_TOKEN"),
'client_id': this.getData("CLIENT_ID"),
'token_type_hint': 'access_token'
};
this.nativeHttp.post(apiUrl, params, headers).then(response => {
console.log("success response: "+response);
})
.catch(error => {
console.log("error response: "+error);
});
console.log("finished");
}
Вот мой контроллер Spring, который получает параметры.
@RequestMapping(value = "/oauth/revoke-token", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Object> logout(HttpServletRequest request) {
String clientId = request.getParameter(OAuth2Constants.CLIENT_ID);
String token = request.getParameter(OAuth2Constants.TOKEN);
String tokenTypeHint = request.getParameter(OAuth2Constants.TOKEN_TYPE_HINT);
String companyId = request.getParameter(WebConstants.COMPANY_ID_PARAMETER);
}
Но, к сожалению, все параметры получает в контроллере значение NULL.
Может кто-нибудь мне помочь?