Сервер на Java для Android приложения
Мне нужно сделать сервер на java, который будет работать с БД и выполнять другие функции. Выбор пал на сервер на основе REST API. Главное, он должен отвечать на HTTP запросы приходящие с клиентского Android приложения. Само клиентское приложение содержит WebView, в котором отображается сайт расположенный локально. Запрос я отправляю с помощью JS, но как бы я не старался, результат один...
Access to XMLHttpRequest at '' from origin '' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Подскажите как это исправить. Возможно полностью изменить архитектуру или инструментарий. Главное, чтобы сервер был написан на Java.
Ответы (1 шт):
Автор решения: Alexander Tsapkov
→ Ссылка
Добавления CORS в Spring:
- Можно добавить аннотацию @CrossOrigin перед контроллером.
- Можно объявить глобально, для этого добавляем Bean в главном классе приложения. Пример:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public WebMvcConfigurer corsConfig(){
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
};
}
}