Ich muss globale CORS in meinem Frühjahr Boot Daten Rest API, um zu verhindern, dass die folgenden Fehler immer wenn ich meine API von einem Browser aufrufen: http://localhost:8090/posts?user-id=1. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Ursprung 'http://localhost' ist daher nicht erlaubt. '.cant aktivieren CORS im Frühjahr Boot Daten Rest
Ich kann die URL in den Browser eingeben und erhalten die richtige Get-Antwort für diese Ressource, aber ich kann nicht den gleichen Aufruf von einem Ajax-Aufruf in einer Webseite.
Irgendwelche Ideen, was fehlt?
Mein Code und Konfiguration ist unten:
@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'
}
Hallo, freundlich, dieses Projekt überprüfen https://github.com/MFaisalHyder/REST_API es ist komplett aus mit Spring MVC4 mit Frühlings-Stiefel. In Ihrer Post fehlt es Ihnen an der Einrichtung von Filtern für Ihre Antwortheader und Sie müssen auch zulassen, dass Herkunftsmethoden wie GET, POST ... aus der Anwendung verwendet werden. Projekt durchlaufen, wenn nicht verstanden, ich werde in einer vollständigen Antwort beschreiben. –
vielen Dank. krank versuchen Sie dies – gezinspace
haben Sie es bekommen oder Sie wollen mich detaillierte Antwort, aber Sie müssen auch Ihre Projektstruktur, wie es erforderlich sein, um Änderung sein. –