JAX RS – 13 – @HeaderParam
Merhaba Arkadaslar ,
Bu bolumde Request Header’larin inject edilmesini inceleyecegiz.
Bunun icin @HeaderParam annotation ve javax.ws.rs.core.HttpHeaders ‘i kullanabiliriz.
The @HeaderParam annotation allows you to map a request HTTP header to your method invocation.
Ornegimizi inceleyelim ;
LoginResource.java
package _07.headerParam.service; import javax.ws.rs.GET; import javax.ws.rs.HeaderParam; import javax.ws.rs.Path; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; @Path("/login-headerParam") public class LoginResource { @GET @Path("/getInfo") public String getInfo(@HeaderParam("user-agent") String userAgent) { String message = "getInfo is called. <br/>" + "User Agent" + userAgent; return message; } @GET @Path("/getInfoWithContexth") public String getInfoWithContexth(@Context HttpHeaders headers) { String message = " getInfoWithContexth is called"; for (String headerName : headers.getRequestHeaders().keySet()) { message = message + "<br/>" + headerName + " : " + headers.getRequestHeader(headerName); } return message; } }
javax.ws.rs.core.HttpHeaders
public interface HttpHeaders { public List<String> getRequestHeader(String name); public MultivaluedMap<String, String> getRequestHeaders(); ... }
getInfo metodunda @HeaderParam annotation kullandik user-agent header parametresini alabiliriz.
http://localhost:8080/injavawetrust.resteasy.tutorial/login-headerParam/getInfo http://localhost:8080/injavawetrust.jersey.tutorial/login-headerParam/getInfo
Bir baska yontem olarak @Context annotation ile HttpHeaders ‘i inject edelim.
getRequestHeaders metodu ve getRequestHeader yardimiyla Http Header bilgilerini ulasabiliriz.
http://localhost:8080/injavawetrust.jersey.tutorial/login-headerParam/getInfoWithContexth http://localhost:8080/injavawetrust.resteasy.tutorial/login-headerParam/getInfoWithContexth
Github kaynak kodlar / source folder
injavawetrust.resteasy
injavawetrust.jersey
Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer
Leave a Reply