Focus mode

Java Spring

RestController Kavramı

Bu bölümde Spring Boot'un kendi içindeki bileşenlere odaklanacağız. Bu bileşenler aracılığıyla Spring Boot'u kullanmaya başlayabiliriz. Bileşenler arasında controller, service ve repository kavramları bulunmaktadır.

Controller, presentation layer'a denk gelir ve web sayfalarını URL adresleri üzerinden yönetmemizi sağlar. Önceki derslerde main metod içerisinde yaptığımız işlemleri, artık controller sınıflarında web sayfası üzerinden yönetebiliriz.

Controller sınıfları, @Controller anotasyonu ile işaretlenir. Örneğin, "HomeController" adında bir controller sınıfı oluşturabiliriz. Bu sınıfın içinde @GetMapping anotasyonu ile URL adresi belirleyebilir ve ilgili metotları çağırabiliriz.

@Controller
public class HomeController {

  @GetMapping("/")
  public String home() {
    return "Ana Sayfa";
  }

  @GetMapping("/about")
  public String about() {
    return "Hakkımızda";
  }
}

Bu örnekte, "/" adresi "Ana Sayfa"yı, "/about" adresi ise "Hakkımızda" sayfasını temsil eder.

Service sınıfları, iş mantığıyla ilgili işlemleri yönetir ve genellikle @Service anotasyonu ile işaretlenir. Repository sınıfları ise veritabanı işlemlerini gerçekleştirir ve @Repository anotasyonu ile işaretlenir.

Spring Boot, bu bileşenleri kullanarak öğrendiğimiz şeyleri daha hızlı ve kolay bir şekilde uygulamamıza olanak tanır. Controller üzerinden web sayfalarını URL adresleriyle yönetebiliriz. Örneğin, "/user/{id}" adresi üzerinden belirli bir kullanıcının bilgilerini getirecek bir controller metodu oluşturabiliriz.

@RestController
@RequestMapping("/user")
public class UserController {

  @GetMapping("/{id}")
  public String getUser(@PathVariable Long id) {
    // Veritabanından kullanıcı bilgisi çekme işlemleri
    return "Kullanıcı ID: " + id;
  }

  @PostMapping("/save")
  public String saveUser(@RequestBody User user) {
    // Kullanıcıyı kaydetme işlemleri
    return "Kullanıcı kaydedildi: " + user.getName();
  }
}

Bu örnekte, "/user/{id}" adresi üzerinden belirli bir kullanıcının bilgilerini getiren ve "/user/save" adresi üzerinden bir kullanıcıyı kaydeden metotlar bulunmaktadır.

Spring Boot'un sunduğu bu yapılar, web uygulamalarını geliştirmeyi kolaylaştırır ve çeşitli anotasyonlar sayesinde URL adreslerini ve HTTP metotlarını kullanarak işlemlerimizi tanımlamamıza olanak sağlar.

left-disk

Programs to Accelerate Your Progress in a Software Career

Join our 4-8 month intensive Patika+ bootcamps, start with the fundamentals and gain comprehensive knowledge to kickstart your software career!

right-cube

Comments

You need to enroll in the course to be able to comment!