rest 兩種客戶端資料返回的處理方式

2021-07-30 16:28:06 字數 2482 閱讀 3052

這種方式返回的是字元不是類物件

response response = target.request().header("x-auth-token", token).buildpost(entity).invoke();

int code = response.getstatus();

message = response.readentity(string.class);

response.close();

/*  system.out.println(code);

system.out.println(message);*/

} catch (exception e)

return message;

前台按照這種格式取就可以

string response = request.postrequest();

jsonobject resobj = jsonobject.parseobject(response);// .fromobject(response);

jsonobject jsonobj = resobj.getjsonobject("result");//通用

if(jsonobj==null)

return null;

jsonarray jsarray = jsonobj.getjsonarray("operationloglist");//根據返回的字元結果設定

//另一種需要物件類

client client = getclient();

webtarget webtarget = client.target(vimrestrooturl).path(vdu_url)

.path(vduuuid).path("detail");

invocation.builder invocationbuilder = webtarget

//這種class方式的也是對應json才能自動轉化的,同名自動會設入,但是如果不同名要用@jsonproperty轉化

vduqueryresp resp = invocationbuilder.get(vduqueryresp.class);

return resp.getresult();//返回的就是vduvm類

package com.certusnet.nfv.mano.nfvo.vnfr.pojo;

import com.certusnet.nfv.mano.common.pojo.vduvm;

import com.certusnet.nfv.mano.rsclient.restresp;

public class vduqueryresp extends restresp

public void setresult(vduvm result)

} package com.certusnet.nfv.mano.rsclient;

public abstract class restresp

public void setretcode(string retcode)

public string getmsg()

public void setmsg(string msg)

} package com.certusnet.nfv.mano.common.pojo;

import com.fasterxml.jackson.annotation.jsonproperty;

public class vduvm

public void setname(string name)

public string getuuid()

public void setuuid(string uuid)

public string getvmimage()

public void setvmimage(string vmimage)

public string getcpunumber()

public void setcpunumber(string cpunumber)

public string getmemorysize()

public void setmemorysize(string memorysize)

public string getdisksize()

public void setdisksize(string disksize)

public string getpath()

public void setpath(string path)

public string getstatus()

public void setstatus(string status)

public string getipaddr()

public void setipaddr(string ipaddr)

}

兩種客戶端工具

rest resttemplate 基本上不用 feign客戶端工具 以後再實際開發中用的最多 feign是乙個宣告式的http客戶端呼叫工具,採用介面 註解方式實現,易讀性比較強 預設超時時間1s springcloud預設開啟支援ribbon feign客戶端預設開啟ribbon 本地負載均衡 ...

oracle 客戶端,分兩種

oracle 客戶端,分兩種 第一種,安裝提供客戶端,對於windows系統 1.把 oracle home lib加到path環境變數.2.把 oracle home jdbclibclasses12.jar加到classpath環境變數裡.也可以把classes12.jar拷貝到tomcat的c...

兩種方式獲取Thrift呼叫的客戶端IP位址

thrift依賴 org.apache.thrift libthrift 0.9.3 方法一 package com.lala.server import org.apache.thrift.tprocessor import org.apache.thrift.protocol.tcompactp...