Если «/» работает, а «/ api / order / calc» - нет, это означает, что у них разные HTTP-глаголы.
"/" - is a GET request
"/api/order/calculate" - is a POST request
По умолчанию пружинная защита включает защиту csrf (только для POST, потому что GET считается безопасным).Если вы получаете 403, это означает, что вы не отправляете заголовок csrf => ваш доступ запрещен.
Вы сказали, что это конечная точка REST, поэтому вы должны отключить csrf для этой конечной точки.Для этого обновите свою конфигурацию:
1.disable csrf в целом (не рекомендуется, если у вас есть веб-формы)
http.csrf()
.disable();
2.Если вам нужно игнорировать csrf только дляконкретные конечные точки, вы можете добавить:
http.csrf()
.ignoringAntMatchers("/api/order/calculate")