以下是一个使用Apex获取用户输入并将其发送到返回JSON输出的外部API的示例代码:
public class ExternalAPIController {
public String userText { get; set; }
public String apiResponse { get; set; }
public void callExternalAPI() {
HttpRequest req = new HttpRequest();
req.setEndpoint('https://api.example.com'); // 外部API的URL
req.setMethod('POST');
req.setHeader('Content-Type', 'application/json');
// 构建请求JSON数据
Map requestBody = new Map();
requestBody.put('userText', userText);
String requestBodyJSON = JSON.serialize(requestBody);
req.setBody(requestBodyJSON);
// 发送API请求
Http http = new Http();
HttpResponse res = http.send(req);
// 解析并存储API响应
if (res.getStatusCode() == 200) {
apiResponse = res.getBody();
} else {
apiResponse = 'API请求失败';
}
}
}
上述代码是一个Apex类,包含了一个用户输入字段userText
和一个用于存储API响应的字段apiResponse
。callExternalAPI()
方法用于发送API请求并解析响应。
在Visualforce页面中,可以使用以下代码调用此Apex类:
{!apiResponse}
上面的Visualforce页面包含一个文本输入框和一个按钮,当用户点击按钮时,会调用callExternalAPI()
方法发送API请求,并将API响应显示在页面上。
请注意,上述示例代码中的URL、请求头和请求体结构都是示例,并不代表实际的外部API。你需要根据你要使用的API的要求来修改这些部分。