How to create RESTful Web service with Netbeans – Context UriInfo List

บทนำ (Overview)

จากบทความที่แล้วนำเสนอเกี่ยวกับการใช้งาน @Context กับ “UriInfo” ที่ใช้รับข้อมูลลักษณะ 1 “Parameter” 1 ค่า (How to create RESTful Web service with Netbeans – Context UriInfo) ในบทความนี้เราจะนำเสนอ “List” ที่ใช้จัดเก็บข้อมูลในรูปของการอ้างถึงสืบทอดมาจาก “Collection” จากชนิดต่าง ๆ เช่น “ArrayList” หรือ “LinkedList” โดย “List” มีลักษณะของข้อมูลคือ [data1, data2, data3, dataN] โดยข้อมูลใน “List” อาจซ้ำกันก็ได้ แต่ที่สำคัญคือลำดับของข้อมูลมีความสำคัญ

ขั้นตอน (Steps)

  1. ก่อนอื่นเริ่มต้นต้องเพิ่มคำสั่งดังนี้
    import javax.ws.rs.core.Context;
    import javax.ws.rs.core.UriInfo;
    import java.util.List;
    
  2. จากนั้นเราสามารถเรียกใช้งาน “@Context” และ “UriInfo” ดังนี้
    @Context UriInfo tmpInfo
    
  3. ข้อมูล “tmpInfo” ที่เราได้รับมา เราสามารถสร้างเป็น “List” ได้ดังนี้
        @GET
        @Path("/")
        public String checkSecretAnswer(@Context UriInfo tmpInfo) {
            List<String> tmpAns = tmpInfo.getQueryParameters().get("answer");
            return "Secret Answer: "  + tmpAns  ;
        }
    
  4. ทดสอบ “RESTful Web Servers” ได้ดังนี้ restservice-netbean31
  5. จากตัวอย่างจะเห็นได้ว่าสามารถรับข้อมูลหลาย ๆ “Parameter” ที่ชื่อซ้ำกันมาสร้างเป็น “List” โดยความสำคัญจะอยู่ที่ลำดับของข้อมูล
  6. เราสามารถสรุป “Source-code” ได้ดังนี้
    package helloworld;
    
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.core.Context;
    import javax.ws.rs.core.UriInfo;
    import java.util.List;
    
    @Path("Login")
    
    public class LoginResource {
        @GET
        @Path("/")
        public String checkSecretAnswer(@Context UriInfo tmpInfo) {
            List<String> tmpAns = tmpInfo.getQueryParameters().get("answer");
            return "Secret Answer: "  + tmpAns  ;
        }
    }
    

ใส่ความเห็น