В моем приложении Spring Boot App у меня есть конечная точка, которая определяется следующим образом:
startFunctionality(@PathVariable Long clientId,@PathVariable Long projectId,@PathVariable Long functionalityId, @RequestBody(required=false) Map<String,Object> variables )
Я хочу передать карту из Angular.Я создаю его следующим образом:
let variables = new Map();
variables.set("A",1);
variables.set("B",2);
Затем я создаю свой запрос следующим образом:
let data = {
"variables":variables
}
const request: HttpRequestInterface = {
apiUrl: 'clients/' + clientId + '/projects/' + projectId + '/functionalities/' + functionalityId + '/start',
body: data
};
return this.httpService.get(request);
Запрос get просто такой:
public get(httpRequest: HttpRequestInterface): Observable<any> {
const options = this.getBaseOptions(httpRequest);
const observable = this.httpClient.get(this.apiBaseUrl + httpRequest.apiUrl, options);
return observable.pipe(
retryWhen((errors: any) => this.handleErrorsOnRequest(errors)),
map((response: any) => this.getResponseData(response))
);
}
Поскольку тело запроса variables
не требуется, я выполняю проверку внутри метода для конечной точки.Проблема в том, что даже если я установлю тело с помощью своих переменных, конечная точка получит значение NULL.Если я пытаюсь отправить переменные с помощью Postman, конечная точка получает их правильно, они не равны NULL.