Мне нужно включить глобальный CORS в моем загрузочном загрузочном файле api для предотвращения получения следующей ошибки, когда я вызываю api из браузера: http://localhost:8090/posts?user-id=1. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Следовательно, исходный 'http://localhost' не имеет доступа. '.can not enable CORS in spring boot data rest
Я могу набрать URL-адрес в браузере и получить правильный ответ для этого ресурса, но я не могу сделать тот же звонок из ajax-вызова на веб-странице.
Любые идеи, что им не хватает?
Мой код и конфигурации ниже:
@SpringBootApplication
@EnableAutoConfiguration
@EnableJpaRepositories
@EnableWebMvc
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
};
}
@Bean
public CommandLineRunner demo(UserRepository userRepository, PostRepository postRepository,
CommentRepository commentRepository, EventRepository eventRepository, VenueRepository venueRepository) {
return (args) -> {
User user = new User("fsdsdfsd","sdsdsds","121212");
userRepository.save(user);
Venue venue = new Venue("dsaesrdfddgd","aerttyhyyty","yyyyyyyyyyyyyy");
venueRepository.save(venue);
Event event = new Event("dsaesrdfddgd","aerttyhyyty","yyyyyyyyyyyyyy",venue,user);
eventRepository.save(event);
Post post = new Post("some posts are funny. Some are not.",user, event);
postRepository.save(post);
Comment comment = new Comment("commmentntnrnejfnerfdgdfgdfdt", user, post);
commentRepository.save(comment);
};
}
}
@RepositoryRestResource
public interface PostRepository extends PagingAndSortingRepository<Post, Long> {
Page<Post> readBydeletedIsFalseOrderByCreated(Pageable pageRequest);
@CrossOrigin
Post readByIdAndDeletedIsFalse(Long postId);
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
jar {
baseName = 'project'
version = '0.1.0'
}
war {
baseName = 'project'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-data-rest")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("com.h2database:h2")
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
Привет там, пожалуйста, проверьте этот проект https://github.com/MFaisalHyder/REST_API он полностью выполнен с использованием Spring MVC4 с Spring ботинком. в вашем сообщении вам не хватает настроек фильтров для заголовков ответов, а также разрешено использовать методы происхождения, такие как GET, POST ..., которые будут использоваться из приложения. пройдите проект, если не поняли, я опишу в полном ответе. –
Большое спасибо. плохо попробуйте это – gezinspace
, вы получили его или хотите, чтобы я опубликовал подробный ответ, но вам также нужно разместить свою структуру проекта, так как это будет необходимо для изменения. –