Salesforce Apex頁面中調用遠端網絡服務

本文介紹了Salesforce Apex頁面中調用遠端網絡服務的實現過程。php

註冊遠端網絡服務

在使用Apex代碼調用遠端網絡服務以前,首先須要在Salesforce中註冊遠端網絡服務地址, 本文使用librarything.com提供的一個API, 輸入爲ISBN, 返回其對應的語言。api

登陸Salesforce後,選擇Setup > Administer > Security Controls > Remote Site Settings網絡

而後輸入遠端網絡服務地址並保存url

實現Apex Controller

Controller代碼以下, isbn用於接收UI的輸入, language向UI返回API的輸出。code

checkLanguage方法實現API的調用。orm

public class BookController {
        public String isbn { get; set; }
        public String language { get; set; }
        
        public void checkLanguage() {
            
            Http http = new Http();
            
            String url = 'http://www.librarything.com/api/thingLang.php?isbn=' + isbn;
            HttpRequest req = new HttpRequest();
            req.setEndpoint(url);
            req.setMethod('GET');
            
            HttpResponse res = http.send(req);
            language = res.getBody();
        }
    }

Apex頁面

頁面代碼以下blog

<apex:page controller="BookController" showChat="false" showHeader="false">
        <apex:form >
            ISBN : <apex:inputText value="{! isbn}" />
            <apex:commandButton action="{! checkLanguage}" value="Check Language" reRender="result"/>
        </apex:form> 

        Language : <apex:outputText id="result" value="{! language}"/>
    </apex:page>
相關文章
相關標籤/搜索