Spring Boot

Spring Boot CORS CrossOrigin Kullanım Uygulama Örneği

Spring Boot Dersleri‘ne devam ediyorum. Spring Boot uygulamamızda CORS desteğini @CrossOrigin anotasyonu kullanarak aktif etmeyi göstereceğim.

CORS kısaca kendi uygulamamızın başka bir uygulamaya bağlanma işleminin yönetilmesidir. Uygulamalar arası haberleşmenin istemci tarafından izin verilmesi gerekmektedir.

Spring Boot uygulamamızda oluşturduğumuz servislerin diğer uygulamalar ile haberleşebilmesi için CORS desteğini açmamız gerekiyor. Bu desteği ise @CrossOrigin anotasyonu ile sağlamaktayız.

Basit bir rest api yapalım ve basit bir front-end uygulaması oluşturup CORS desteğini sağlayınca ne oluyor sağlamayınca ne olmakta inceleyelim.

Uygulamamızın maven bağımlılığı aşağıdaki gibi olacak.

  <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

Merhaba Dünya mesajı verecek bir controller yapalım.

@RestController
public class HelloController {
    @GetMapping("/")
    public String mesaj(){
        return "Merhaba Dünya https://blog.burakkutbay.com";
    }
}

Spring Boot uygulamamız hazır.

Yaptığımız bu uygulamaya bir Javascript kullanarak istek atalım. Bir hmtl sayfası yapalım.

<!doctype html>
<html lang="tr">
<head>
    <title>Spring Boot Cors Uygulama Örneği</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        const Url = 'http://localhost:8080/';
            $.get(Url, function (data, status) {
                console.log(data);
            });
    });
</script>
</body>
</html>

Şimdi bu sayfayı açalım ve consol ekranına bakalım.

Spring Boot CORS Desteği

Aldığımız hata yazının en başında bahsettiğimiz CORS erişim engellemesi. Bu engellemenin ortadan kalkması için gerekli metodun üstüne ya da rest controllerımız üzerine @CorsOrigin anotasyonu ekliyoruz ve Controllerimizin son hali aşağıdaki gibi olacak.

@RestController
public class HelloController {
    @CrossOrigin
    @GetMapping("/")
    public String mesaj(){
        return "Merhaba Dünya https://blog.burakkutbay.com";
    }
}

Tekrar html sayfamızı çalıştıralım ve console ekranına bakalım.

Spring Boot CORS Desteği

Projenin Kaynak Kodlarına Ulaş


Önceki Ders: Spring Boot Uygulamasını Docker Image Oluşturmak Çalıştırmak
Spring Boot Dersleri
Sonraki Ders: Spring Boot Dersleri i18n Uygulama Yerelleştirme

More in:Spring Boot

Bunlara Gözat

Yorum Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir