liferay
लाइफफेयर में रेस्टफुल वेब सेवा का उपयोग करना
खोज…
GET अनुरोधों के लिए लाइफ़रे JSON सेवा का उपभोग करें
जीवनर ने JSON के माध्यम से अन्य प्रणालियों के लिए उपलब्ध कई डिफ़ॉल्ट और कस्टम सेवाओं को उजागर किया है। किसी विशेष आयु उदाहरण पर सेवाओं का पता लगाने के लिए, दिए गए URL का उपयोग करें - इस मामले में एक स्थानीय उदाहरण:
http://localhost:8080/api/jsonws/
आवश्यक सेवा का चयन करें, दिए गए सिंटैक्स और मापदंडों के साथ सेवा का उपभोग करें:
/user/get-user-by-email-address
अपेक्षित डेटाटाइप के साथ उपयोगकर्ता को पुनः प्राप्त करने के लिए companyId and emailAddress का उपयोग करें, साथ ही साथ उपभोक्ता द्वारा नियंत्रित किए जाने वाले संभावित अपवाद भी।
निम्न उदाहरण पोर्टलेट से इस सेवा का उपभोग करता है। दी गई उपयोगिता वर्ग विधि आवश्यक तर्क पारित करते हुए, webservice को कॉल करती है:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import sun.misc.BASE64Encoder;
import com.liferay.portal.kernel.util.StringUtil;
import com.liferay.portal.theme.ThemeDisplay;
public class WebServiceUtil {
public static String requestWebService(ThemeDisplay themeDisplay) {
String url="http://localhost:8080/api/jsonws/user/get-user-by-email-address/company-id/{company-id}/email-address/{email-address}";
String groupId= Long.toString(themeDisplay.getCompanyId());
String userEmail="[email protected]";
String[] searchList={"{company-id}","{email-address}"};
String[] replList={groupId,userEmail};
//Path params are replaced with args to make web service call
url=StringUtil.replace(url, searchList, replList);
System.out.println(url);
StringBuilder sb = new StringBuilder();
JSONObject jsonObject=new JSONObject();
try
{
URL urlVal = new URL(url);
HttpURLConnection conn = (HttpURLConnection) urlVal.openConnection();
//The user credentials are directly used here only for the purpose of example,always fetech these details from an external props file.
String uname ="[email protected]";
String pswd="test";
String authStr=uname+":"+pswd;
//Encoding username+pswd to be added to request header for making web service call
String authStrEnc=new BASE64Encoder().encode(authStr.getBytes());
/*Authorization type is set to consume web service
and encoded combination is set in header to autheticate caller*/
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Authorization", "Basic "+authStrEnc);
BufferedReader brf = new BufferedReader(new InputStreamReader(conn.getInputStream()));
JSONParser json=new JSONParser();
jsonObject=(JSONObject)json.parse(brf);
int cp;
while ((cp = brf.read()) != -1) {
sb.append((char) cp);
}
}
catch(IOException e)
{
System.out.println("Something went wrong while reading/writing in stream!!");
}
catch (ParseException e) {
System.out.println("Parse error");
}
//For purpose of simplicity we have fetched one of the fields from JSON response
return (String)jsonObject.get("firstName");
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow
