search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
949 gösterim
Spring boot projede  method içine json bir değer göndereceğim. Ama tek bir değer için sınıf oluşturmak istemiyorum. Ne yapabilirim?
kapalı
Java kategorisinde 215 puan
kapalı

1 cevap

0 oy
 
En İyi Cevap

Selamlar Hilal,

Soru sorma stilin orjinal, her seferinde bi gülümsetiyor. Zaten daha soruyu sormuşsun hemen 12-13 kişi bakmış :D

Bakalım doğru anlıyor muyum

public ResponseEntity<?> getXXX(@RequestBody YYY y){
 return aRepo.get(y)
}

Hemen hemen yukarıdaki gibi bir kodun var ve "y" değeri içinde sadece bir string (ya da hangi türdense) onu almak istiyorsun. Sınıf tanımlamadan nasıl olur diyorsun.

{ key: value}

Tarzı bir sınıfın var.

Birkaç yöntem geliyor aklıma.

  1. RequestBody de bir json tutmadan direk değerini gönderebilirsin. Yani
    GET http://localhost:8080/myendpoint
    Content-Type: application/json
    
    degerim

    Bu şekilde bir request yollarsan. Karşıda direk değeri alabilirsin.

  2. Ben sınıf yazmakla uğraşmak istemediğim zaman Map kullanıyorum.
     

    public ResponseEntity<?> getXXX(@RequestBody Map<String, Object> input) {
    .... input.get("key")
    }

    Bu istediğin kadar karmaşık olabilir her türlü json bilgisini almana yarar. Özellikle sınıfın özelliklerini bilmediğim zamanlarda da kullanırım.

  3. Zaten java'da hazırda olan sınıfları kullanabilirsin. Key/value pair sınıfı da olması lazım, direk onu kullanabilirsin. Ama sınıfları biraz bilmen lazım. Yine Map yapısına atıfta bulunursak Map.Entry sınıfı var. O senin işini görür.  Yani
     

    public ResponseEntirty getXXX(AbstractMap.SimpleEntry<String, String> entry) {
      .... entry.getValue()
    }

    Diye kullanabilirsin ki herhalde tam senin istediğin bu olabilir. Sadece json dosyanda { "key": "kenan", "value" : "erarslan" } gibi kullanman gerekir. getKey "kenan", getValue ise sana  "erarslan" dönecektir

İyi çalışmalar,

 

6.2k puan
seçti
Acaba Optional sınıfı kullanılabilir mi o geldi aklıma. Emin değilim... Denemem lazım bi ara

https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
Teşekkür ederim, tam olarak bunu sormaya çalışmıştım :)

İlgili sorular

0 oy
1 cevap 329 gösterim
329 gösterim
Arkadaşlar merhaba, ödevimde bu soruyu yapamadım yardımcı olur musunuz Javada daire isimli bir sınıf oluşturunuz. Bu sınıfın alan değişkenleri yaricap ve alan olsun. Bu alan değişkenlerine ait değer atamalarını oku( ) ve alanihesapla( ) isimli bu sınıfa ait metodlarla gerçekleştiren programı Java’da kodlayınız.
23 Nisan 2021 Java kategorisinde beyza 103 puan sordu
0 oy
0 cevap 218 gösterim
0 oy
1 cevap 148 gösterim
148 gösterim
Postgresql ile bağlı olduğum veritabanından farklı bir veritabanına nasıl bağlanabilirim?
7 Aralık 2021 Veri Tabanı kategorisinde ŞEYMA 316 puan sordu
0 oy
1 cevap 1.4K gösterim
1.4K gösterim
Selam Elimde var olan bir tabloya yeni alanlar ve commentler ekleyeceğim. Bunu minimum komutla nasıl yaparım Oracle'da.
5 Şubat 2019 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 2.3K gösterim
2.3K gösterim
Bir tablonu kopyasını oluşturmam için nasıl bir SQL yazmalıyım.
17 Kasım 2016 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu