Я пробовал
- аннотация
Код: Выделить всё
@CrossOrigin - CORS с пружинной загрузкой и angularjs не работает
- И это https://spring.io/guides/gs/ rest-service-cors/
Мой код
Контроллер
Код: Выделить всё
@RestController
public class DbController {
@Autowired
private IDAO conn;
@CrossOrigin
@GetMapping("/foo")
public List getFoo() {
return conn.getFooFromDao();
}
}
Код: Выделить всё
@Repository
public class DaoImpl implements IDAO {
@Autowired
private JdbcTemplate temp;
public List getFooFromDao() {
List data = new ArrayList();
String sql = "SELECT fooName FROM BigFoo ORDER BY fooName ASC;";
data.addAll(temp.query(sql, new BeanPropertyRowMapper(BigFoo.class)));
return data;
}
}
Ожидается:
Я хочу, чтобы мой контроллер был доступен из любого источника/домена с помощью любого метода.
Фактическое :
Мой контроллер не доступен из любого источника/домена. Это выдает ошибку во внешнем интерфейсе Angular:
РЕДАКТИРОВАТЬ: Моя ошибка во внешнем интерфейсе
< blockquote>
Доступ к XMLHttpRequest по адресу «localhost:8080/foo» из источника
«http://localhost:4200» заблокирован политикой CORS: запросы перекрестного происхождения
запрещены. поддерживается только для схем протоколов: http, data, chrome,
chrome-extension, https.
Второе редактирование :
Это мой код в Angular (интерфейс):
Service< /strong>
Код: Выделить всё
getFoo() {
return this.http.get("localhost:8080/foo");
}
Я также проверил, что URL-адрес работает в этом методе службы, скопировав и вставив его в свой браузер. Действительно, он возвращает JSON, что исключает возможность неправильного URL-адреса или опечатки.
Подробнее здесь: https://stackoverflow.com/questions/569 ... ot-working
Мобильная версия