当前位置: 首页 > news >正文

邯郸网站设计哪家好虚拟主机和云虚拟主机区别

邯郸网站设计哪家好,虚拟主机和云虚拟主机区别,中国建设网官方网站证书查询,wordpress 主题 seo互联网上有很多如何使用RESTful Client API的东西。 这些是基础。 但是#xff0c;尽管该主题看起来微不足道#xff0c;但仍然存在一些障碍#xff0c;尤其是对于初学者而言。 在这篇文章中#xff0c;我将尝试总结我的专业知识#xff0c;以及我如何在实际项目中做到这… 互联网上有很多如何使用RESTful Client API的东西。 这些是基础。 但是尽管该主题看起来微不足道但仍然存在一些障碍尤其是对于初学者而言。 在这篇文章中我将尝试总结我的专业知识以及我如何在实际项目中做到这一点。 我通常使用Jersey用于构建RESTful服务的参考实现。 参见例如我的另一篇文章 。 在本文中我将从JSF bean调用真正的远程服务。 让我们编写一个会话范围的bean RestClient。 package com.cc.metadata.jsf.controller.common;import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource;import java.io.Serializable; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext;/*** This class encapsulates some basic REST client API.*/ ManagedBean SessionScoped public class RestClient implements Serializable {private transient Client client;public String SERVICE_BASE_URI;PostConstructprotected void initialize() {FacesContext fc FacesContext.getCurrentInstance();SERVICE_BASE_URI fc.getExternalContext().getInitParameter(metadata.serviceBaseURI);client Client.create();}public WebResource getWebResource(String relativeUrl) {if (client null) {initialize();}return client.resource(SERVICE_BASE_URI relativeUrl);}public ClientResponse clientGetResponse(String relativeUrl) {WebResource webResource client.resource(SERVICE_BASE_URI relativeUrl);return webResource.accept(application/json).get(ClientResponse.class);} } 在此类中我们获得了在web.xml中指定配置的服务基础URI。 context-paramparam-namemetadata.serviceBaseURI/param-nameparam-valuehttp://somehost/metadata//param-value /context-param 此外我们编写了两种方法来接收远程资源。 我们打算接收JSON格式的资源并将其转换为Java对象。 下一个bean演示了如何对GET请求执行此任务。 Bean HistoryBean通过使用GsonConverter将接收到的JSON转换为Document对象。 最后两节将不在此处显示没关系。 Document是一个简单的POJO而GsonConverter是一个包装Gson的单例实例。 package com.cc.metadata.jsf.controller.history;import com.cc.metadata.jsf.controller.common.RestClient; import com.cc.metadata.jsf.util.GsonConverter; import com.cc.metadata.model.Document;import com.sun.jersey.api.client.ClientResponse;import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped;/*** Bean getting history of the last extracted documents.*/ ManagedBean ViewScoped public class HistoryBean implements Serializable {ManagedProperty(value #{restClient})private RestClient restClient;private ListDocument documents;private String jsonHistory;public ListDocument getDocuments() {if (documents ! null) {return documents;}ClientResponse response restClient.clientGetResponse(history);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get history as JSONjsonHistory response.getEntity(String.class);// convert to Java array / list of Document instancesDocument[] docs GsonConverter.getGson().fromJson(jsonHistory, Document[].class);documents Arrays.asList(docs);return documents;}// getter / setter... } 下一个bean演示了如何通过POST与远程服务进行通信。 我们打算发送上传文件的内容。 我使用PrimeFaces的 FileUpload组件以便可以从侦听器的参数FileUploadEvent中提取内容作为InputStream。 这在这里并不重要您还可以使用任何其他Web框架来获取文件内容也可以作为字节数组。 更重要的是看看如何处理RESTful Client类FormDataMultiPart和FormDataBodyPart。 package com.cc.metadata.jsf.controller.extract;import com.cc.metadata.jsf.controller.common.RestClient; import com.cc.metadata.jsf.util.GsonConverter; import com.cc.metadata.model.Document;import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.core.header.FormDataContentDisposition; import com.sun.jersey.multipart.FormDataBodyPart; import com.sun.jersey.multipart.FormDataMultiPart;import org.primefaces.event.FileUploadEvent;import java.io.IOException; import java.io.Serializable; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext;import javax.ws.rs.core.MediaType;/*** Bean for extracting document properties (metadata).*/ ManagedBean ViewScoped public class ExtractBean implements Serializable {ManagedProperty(value #{restClient})private RestClient restClient;private String path;public void handleFileUpload(FileUploadEvent event) throws IOException {String fileName event.getFile().getFileName();FormDataMultiPart fdmp new FormDataMultiPart();FormDataBodyPart fdbp new FormDataBodyPart(FormDataContentDisposition.name(file).fileName(fileName).build(),event.getFile().getInputstream(), MediaType.APPLICATION_OCTET_STREAM_TYPE);fdmp.bodyPart(fdbp);WebResource resource restClient.getWebResource(extract);ClientResponse response resource.accept(application/json).type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, fdmp);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get extracted document as JSONString jsonExtract response.getEntity(String.class);// convert to Document instanceDocument doc GsonConverter.getGson().fromJson(jsonExtract, Document.class);...}// getter / setter... } 最后但并非最不重要的一点我想演示如何使用任何查询字符串URL参数发送GET请求。 下一个方法通过看起来像http// somehost / metadata / extractfile some file path的URL询问远程服务。 public void extractFile() {WebResource resource restClient.getWebResource(extract);ClientResponse response resource.queryParam(file, path).accept(application/json).get(ClientResponse.class);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get extracted document as JSONString jsonExtract response.getEntity(String.class);// convert to Document instanceDocument doc GsonConverter.getGson().fromJson(jsonExtract, Document.class);... } 参考在我们的软件开发博客上来自我们JCG合作伙伴 Oleg Varaksin的RESTful Client API进行GET / POST 。 翻译自: https://www.javacodegeeks.com/2013/01/get-post-with-restful-client-api.html
http://www.huolong8.cn/news/163254/

相关文章:

  • 张家港百度网站制作重庆工信部网站
  • 做购物网站需要学哪些成都网站制作工具
  • 绍兴网站建设方案推广网站服务器名是什么
  • 手机适配网站广州建设公司平台
  • 长春网站建设方案推广网站域名续费一年多少钱
  • 电子商务网站设计成功的要素优秀wordpress
  • 网站怎样做百度推广计划电子商务网站建设包括哪些内容
  • 设计网站大全网做个小程序开发的公司
  • 响应式网站 html静态网站什么样
  • 做数据分析的网站网站项目的推广
  • 除了昵图网还有什么做图网站找做金融的网站有哪些方面
  • 广州网站建设藤虎网络wordpress删除边栏
  • access 可以做网站不免费网站认证
  • 东莞市产品网络推广企业网站功能优化
  • 建行网站关于我们十堰seo优化
  • wordpress建站创业四川建设行业数据共享平台
  • 网站建设制作优化软件公司怎么赚钱
  • 网站开发软件要求已经有域名,如何建设网站
  • 北京市建设教育协会网站查询加工平台英语
  • 二手网站模板百度推广搜索排名
  • 全包胶衣网站网站建设移交内容
  • php网站开发pdf成都网站设计哪家好
  • 电商网站建设哪好灯饰如何做网站推广
  • 湖南网站建设熊掌号深圳航空公司官网
  • 贵阳网站建设费用wordpress插件分享显示图片
  • 怎样建设网站啊网站制作做站长挣钱
  • 想做苗木生意网站怎么怎么做移动端产品
  • 网站建设课程基础现在什么行业发展前景最好
  • 郑州网站专业制作wordpress网站二次开发
  • 网站开发网站设计的标准佛山美容院网站建设