Я пытаюсь выполнить почтовый запрос на сервер, работающий на том же компьютере, из клиентского приложения для реагирования, но получаю кучу ошибок. Проблема CORS, я также установил временный фильтр на стороне сервера для передачи заголовка Access-Control-Allow-Origin : *
.
У меня нет проблем с запросами GET
по этому поводу. Я могу без проблем запрашивать API.
К сожалению, это не относится к POST
(извините за мое незнание, если ответ очевиден - возможно ли вообще отправлять запросы на публикацию на стороне клиента? )
ниже - это функция, которая выполняет запрос и ожидает результат на консоли.
const postAddCategory = () => {
const myHeaders = {host: "localhost:3000"};
const body = {"productCategoryName": categoryName, "enabled": enabled};
const config = {
headers: myHeaders
};
axios.post("http://localhost:8080/products/categories/category/add", body, config)
.then(r => console.log(r.data))
}
Ошибки:
Интересен тот факт, что запрос вообще не достигает API.
Я пробовал несколько вариантов вызова с разными заголовками, за исключением заголовка хоста, поскольку он тоже жалуется на это. Я пробовал использовать API выборки. Не повезло.
Любая помощь будет принята с благодарностью.
Спасибо
редактировать
Даже если звонок не достигая API,
API встроен в Java (Spring Boot), а фильтр следующий:
@Component
public class ForDevelopmentOnlyFilter implements Filter {
@Override
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
res.addHeader("Access-Control-Allow-Origin", "http://localhost:3000");
chain.doFilter(req, res);
}
}
Вышеупомянутое работает, потому что запрос GET
жаловался с ошибками, связанными с CORS, до его добавления.