Page 64 - การโปรแกรมเว็บ
P. 64

12-52 การโปรแกรมเว็บ
            บรรทดั ที่ 14 	การจัดการส่งออกผลลัพธ์ในรูปแบบของ xml ด้วยค�ำส่ัง @Produces

("application/xml")
            บรรทัดท่ี 15 	ภายในเมธอด convertCtoFfromInput มีการรับค่าพารามิเตอร์ด้วยค�ำสั่ง

@PathParam("c") และรบั ใสต่ ัวแปรที่เป็น Double ชอื่ ว่า c
            บรรทดั ท่ี 16-18 คำ� สง่ั การท�ำงานเพอ่ื คำ� นวณการแปลงค่าอณุ หภมู จิ ากหน่วย C เปน็ F
            บรรทัดท่ี 20-21 เป็นการเขียนแสดงผลลัพธ์ทไ่ี ด้จากการคำ� นวณ
            บรรทัดท่ี 22-23 ส่งคืนคา่ ออกเปน็ ลักษณะของเอก็ ซ์เอม็ แอล

       1.8 ตัวอย่างโค้ดในกรณีที่มีการสร้างเอพีไอเพื่อรับพารามิเตอร์มากกว่าหน่ึง ตัวอย่างนี้เป็นการ
ค�ำนวณค่า BMI ซึ่งต้องรับพารามิเตอร์จากเครื่องลูกข่ายจ�ำนวน 2 ค่า คือ ส่วนสูงและน้ําหนักเพ่ือมา
คำ� นวณ จากน้ันท�ำการส่งผลการคำ� นวณกลบั ในรปู แบบของเจสันให้กับเคร่ืองลูกขา่ ย สามารถเขยี นคำ� สง่ั
รบั คา่ พารามิเตอร์เพื่อใชค้ ำ� นวณ และคนื ค่าในรูปแบบของเจสนั ได้ดังนี้

 BMIcalculator.java
 1 package com.apiinfo.service;
 2
 3 import javax.ws.rs.GET;
 4 import javax.ws.rs.Path;
 5 import javax.ws.rs.PathParam;
 6 import javax.ws.rs.Produces;
 7 import javax.ws.rs.core.Response;
 8
 9 import org.codehaus.jettison.json.JSONException;
 10 import org.codehaus.jettison.json.JSONObject;
 11
 12 @Path("/bmiservice")
 13 public class BMIcalculator {
 14
 15 @Path("/{w}/{h}/")
 16 @GET
 17 @Produces("application/json")
 18 public Response bmiCalculator(@PathParam("w") double w,
 19 @PathParam("h") double h) throws JSONException {
 20
   59   60   61   62   63   64   65   66   67   68   69