日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Entity

更新時(shí)間:

簡(jiǎn)介

用于承載數(shù)據(jù)的實(shí)體,是對(duì)二進(jìn)制數(shù)據(jù)的封裝。

坐標(biāo):com.alibaba.bwif.script.core.Entity。

結(jié)構(gòu)說(shuō)明

屬性

類型

說(shuō)明

blob

byte[]

原始的二進(jìn)制數(shù)據(jù)。

mimeType

String

使用MIME Type區(qū)分不同格式,例如application/json、text/xml等。引擎會(huì)根據(jù)不同的MIME Type對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行處理。

encoding

String

編碼方式,例如UTF-8。

構(gòu)造方式

支持兩種構(gòu)造方式:引擎自動(dòng)或開(kāi)發(fā)人員在流設(shè)計(jì)器中通過(guò)腳本構(gòu)造。

自動(dòng)構(gòu)造:引擎運(yùn)行時(shí)根據(jù)節(jié)點(diǎn)配置構(gòu)造,例如HTTP節(jié)點(diǎn)的輸出消息中,會(huì)根據(jù)對(duì)端接口返回的內(nèi)容構(gòu)造對(duì)應(yīng)MIME Type的Entity。

腳本構(gòu)造,提供以下構(gòu)造方法。

方法

說(shuō)明

Entity fromBytesValue(byte[] blobValue, String mimeType, String encoding)

  • 根據(jù)二進(jìn)制內(nèi)容構(gòu)造Entity。構(gòu)造時(shí)不會(huì)根據(jù)mimeType對(duì)二進(jìn)制內(nèi)容進(jìn)行校驗(yàn),如果格式錯(cuò)誤,在使用該Entity時(shí)會(huì)報(bào)錯(cuò)。

  • mimeType詳見(jiàn)本文后續(xù)章節(jié)。

  • encoding目前僅支持UTF-8。

Entity fromStringValue(String stringValue, String mimeType, String encoding)

  • 根據(jù)字符串構(gòu)造Entity,stringValue可以理解為序列化后的內(nèi)容,如JSON字符串,不同類型的mimeType所支持的格式有所不同。構(gòu)造時(shí)不會(huì)根據(jù)mimeType對(duì)二進(jìn)制內(nèi)容進(jìn)行校驗(yàn),如果格式錯(cuò)誤,在使用該Entity時(shí)會(huì)報(bào)錯(cuò)。

  • mineType詳見(jiàn)本文后續(xù)章節(jié)。

  • encoding目前僅支持UTF-8。

Entity fromObjectValue(Object objectValue, String mimeType, String encoding)

  • 根據(jù)對(duì)象生成Entity,不同類型的mimeType支持的Object類型有所差異,詳見(jiàn)后續(xù)章節(jié)。構(gòu)造時(shí)會(huì)根據(jù)mimeType轉(zhuǎn)換成二進(jìn)制內(nèi)容,如果格式錯(cuò)誤將會(huì)報(bào)錯(cuò)。

  • encoding目前僅支持UTF-8。

方法列表

方法

說(shuō)明

String getEncoding()

獲得當(dāng)前Entity對(duì)象的編碼。

String getMimeType()

獲得當(dāng)前Entity對(duì)象的MIME Type。

byte[] getBlob()

獲得當(dāng)前Entity對(duì)象的原始二進(jìn)制內(nèi)容。

Integer getBlobSize()

獲得當(dāng)前Entity對(duì)象的原始二進(jìn)制字節(jié)長(zhǎng)度。

Object getObjectValue()

根據(jù)MIME Type自動(dòng)將二進(jìn)制內(nèi)容反序列化成Java基礎(chǔ)類型,方便使用。根據(jù)不同的MIME Type,得到不同的Object的類型和結(jié)構(gòu)。

String getStringValue()

將二進(jìn)制內(nèi)容按照Encoding編碼后返回。

MIME Type

目前支持的MIME Type包括:

格式

支持MIMT Type名稱

json

application/json,text/json

x-www-form-urlencoded

x-www-form-urlencoded

JSON格式

使用getObjectValue()和fromObjectValue()時(shí),涉及到JSON格式中的類型與腳本中的Object類型的轉(zhuǎn)換關(guān)系,目前引擎支持如下:

JSON的類型

腳本中的Object類型

number

  • 例如:123,-1.002

根據(jù)數(shù)字的精度情況,對(duì)應(yīng)Integer、Double、BigDecimal類型

boolean

  • 例如:true

Boolean

string

  • 例如:"abc"

String

null

  • 例如:null

NullObject

array

  • 例如:[]、[1,2,3]

ArrayList

object

  • 例如:{},{"a":1,"b":[1,2,3]}

HashMap

如果使用getObjectValue()和fromObjectValue()不能滿足您的需求,建議可考慮使用getStringValue()和fromStringValue()方法、并結(jié)合內(nèi)置的JSON處理工具類對(duì)序列化后的字符串直接進(jìn)行處理。

使用示例

關(guān)于使用getObjectValue()和fromObjectValue()處理JSON格式的數(shù)據(jù),示例請(qǐng)參見(jiàn)快速入門(mén)HTTP API Reply

x-www-form-urlencoded格式

在使用HTTP節(jié)點(diǎn)調(diào)用API時(shí),如果對(duì)端應(yīng)用要求HTTP Request Body的格式為x-www-form-urlencoded時(shí),則需要使用此種類型的Entity。

在getObjectValue()和fromObjectValue()方法中,支持使用HashMap類型,示例如下:

HashMap<String,Object> m = new HashMap()
m.put("a","1")
m.put("b","2")
m.put("c","'aa'")
m.put("d","中文")
Entity e = Entity.fromObjectValue(m,"application/x-www-form-urlencoded","UTF-8")

生成的數(shù)據(jù)內(nèi)容為:a=1&b=2&c=%27aa%27&d=%E4%B8%AD%E6%96%87。