Merhaba arkadaşlar, bu yazımda @POST notasyonunu ayrıntılı bir şekilde anlatacağım.
HTTP POST yöntemi, sunucuya veri gönderir. İsteğin gövdesinin tipi, İçerik Tipi(Content-Type) başlığı ile belirtilir. İçerik Tipi, kaynağın ortam türünü belirtmek için kullanılır. Şimdi örnekler üzerinden konuyu anlamaya çalışalım:
Person.java
Person sınıfı bizim pojo sınıfımızdır. Değişkenler ve değişkenlere ait getter/setter metotlara sahiptir. Şimdi service sınıfımızı inceleyelim.
RestService.java
Bu kaynakta görüldüğü @PATH sadece sınıfa verilmiş. Yani URI’sinin sonu “/post” olduğunda addPerson() metodu çalışacaktır.
@POST => Kaynağın post metot olduğunu belirtir.
@Consumes => Kabul edilecek içerik tipi.(Content-Type)
@Produces => Response olarak üretilecek içerik tipi
Persons adında bir listemiz var. Bu kaynağa her istek yolladığımızda person nesnesini listemize ekleyecek ve JSON olarak dönecek. Şimdi bir istek(request) gönderelim ve sonuca(response) bakalım.
İstek gönderildi. Sonuç:
Görüldüğü gibi sonuç JSON listesi olarak döndürüldü.
Şimdi başka bir örneği inceleyelim.
Person.java
RestService.java
Burada iki adet kaynak mevcuttur. İki kaynağa da @PATH ile farklı pathler verilmiştir. Önce ilk metodu inceleyelim.
JSON formatında veri kabul ediyor ve JSON döndürüyor ilk örnekteki gibi. Tek fark olarak URI’sı farklı.
İkinci metot ise parametre olarak String kabul ediyor yani Text_Plain tipinde veri kabul ediyor. Dönüş olarak String veri döndürüyor ama bu veriyi Text formatında döndürüyor. Şimdi Postman aracılığıyla test edelim.
Text olarak “Furkan” değeri istek olarak gönderildi. Sonuç:
Görüldüğü üzere istek başarılı şekilde gönderildi ve sonuç başarılı şekilde döndürüldü.
Bu yazıyı burada bitiyorum. Diğer yazılarımda görüşmek üzere…