Merhabalar arkadaşlar. Bu yazıda RestEasy içindeki bir başka notasyon olan @DefaultValue notasyonunu göreceğiz.

Önceki yazılarda yazmış olduğumuz web servis metotlarımız hep parametre bekler halde idi ve biz de parametrelerini elle vererek metotları tetiklemiştik. Bizden parametre bekleyen metodu biz parametre vermeden tetikleme denemesi yaparsak ya yazdığımız web servis 404 status codu ile geri döner ya da yarım yamalak işler yapılır. Bu durumda ilgili web serviste bir default değer tanımlaması yapmak gerekebilir.

Hemen basit bir örnek uygulama yapalım.

DefaultValueExample.java

package com.mycompany.resteasytutorials;

import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

@Path("/defaultValueExample")
public class DefaultValueExample {
    @Produces(MediaType.TEXT_HTML)
    @GET
    public String returnParameter(@QueryParam("parameter") @DefaultValue("kod5.org") String parameter){
        return parameter;
    }
}

GET notasyonu ile işaretlediğimiz ve bu sayfaya istekte bulunulduğunda çalışacak olan returnParameter metodumuz adres çubuğundan parameter ismi ile gönderilecek bir String parameter parametresi bekliyor. Eğer adres çubuğuna herhangi bir QueryParam girilmeden GET isteğinde bulunursa da devreye hemen varsayılan değer olan kod5.org girecek ve web servisin sağlıksız çalışmasının önüne geçecek.

Ekran Çıktısı

Normalde returnParameter metodu benden bir Query Param bekliyor fakat ben göndermediğimde de devreye varsayılan parametre giriyor.

Kendi Query Param’ımı yolladığımda varsayılan parametre hemen benim parametrem ile değiştiriliyor.

Bu yazıda da bu kadar arkadaşlar. Gelecek yazıda görüşene kadar sağlıcakla kalın.

Selam ve Sevgilerimle