# RegisterConverter
`RegisterConverter(Name, MediaType, ConvertCallback, ParseCallback, [Instance], [ParseType])`
`Name`-`{String}` 與`CustomRequestFormat`或`CustomResponseFormat`一起使用的轉換器的名稱
`MediaType`-`{String}` 用于`Content-Type`和`Accept`標頭的媒體類型
`ConvertCallback`-`{String}` 用于轉換的全局或對象函數名稱
`ParseCallback`-`{String}` 用于解析的全局或對象函數名稱
`Instance`-`{Object}` *可選* 使用`ConvertCallback`和`ParseCallback`的實例方法
`ParseType`-`{String}` *可選* `"String"`(默認)或`"Binary"`將原始二進制響應傳遞給`ParseCallback`
注冊自定義轉換器以轉換請求`Body`和響應`Content`。 如果`ConvertCallback`或`ParseCallback`是對象方法,則傳入一個對象實例。 如果`ParseCallback`需要原始二進制響應值(例如文件下載),則設置`ParseType ="Binary"`,否則使用`"String"`。
* `ConvertCallback` signature: `Function ...(Value As Variant) As String`
* `ParseCallback` signature: `Function ...(Value As String) As Object`
~~~vb
'// 1. 使用全局模塊函數進行轉換和分析
'// ---
'// Module: CSVConverter
Function ParseCSV(Value As String) As Object
'// ...
End Function
Function ConvertToCSV(Value As Variant) As String
'// ...
End Function
WebHelpers.RegisterConverter "csv", "text/csv", _
"CSVConverter.ConvertToCSV", "CSVConverter.ParseCSV"
'// 2. 使用轉換和分析的對象實例函數
'// ---
'// Object: CSVConverterClass
'// 與上述相同...
Dim Converter As New CSVConverterClass
WebHelpers.RegisterConverter "csv", "text/csv", _
"ConvertToCSV", "ParseCSV", Instance:=Converter
'// 3. 將原始二進制值傳遞給ParseCallback
'// ---
'// Module: ImageConverter
Function ParseImage(Bytes As Variant) As Object
'// ...
End Function
Function ConvertToImage(Value As Variant) As String
'// ...
End Function
WebHelpers.RegisterConverter "image", "image/jpeg", _
"ImageConverter.ConvertToImage", "ImageConverter.ParseImage", _
ParseType:="Binary"
~~~
- README
- 指南
- 概述
- GET Request
- WebRequest
- 屬性
- Resource
- Method
- Body
- Format
- RequestFormat
- ResponseFormat
- CustomRequestFormat
- CustomResponseFormat
- ContentType
- Accept
- ContentLength
- FormattedResource
- Cookies
- Headers
- QuerystringParams
- UrlSegments
- 方法
- AddHeader
- SetHeader
- AddUrlSegment
- AddQuerystringParam
- AddCookie
- AddBodyParameter
- CreateFromOptions
- WebClient
- 屬性
- BaseUrl
- Authenticator
- TimeoutMs
- ProxyServer
- ProxyBypassList
- ProxyUsername
- ProxyPassword
- EnableAutoProxy
- Insecure
- FollowRedirects
- 方法
- Execute
- GetJson
- PostJson
- SetProxy
- GetFullUrl
- WebResponse
- 屬性
- StatusCode
- StatusDescription
- Content
- Data
- Body
- Headers
- Cookies
- 方法
- Update
- WebHelpers
- 屬性
- WebStatusCode
- WebMethod
- WebFormat
- UrlEncodingMode
- EnableLogging
- 方法
- LogDebug
- LogWarning
- LogError
- LogRequest
- LogResponse
- Obfuscate
- ParseJson
- ConvertToJson
- ParseUrlEncoded
- ConvertToUrlEncoded
- ParseXml
- ConvertToXml
- ParseByFormat
- ConvertToFormat
- UrlEncode
- UrlDecode
- Base64Encode
- Base64Decode
- RegisterConverter
- JoinUrl
- UrlParts
- CloneDictionary
- CloneCollection
- CreateKeyValue
- FindInKeyValues
- AddOrReplaceInKeyValues
- FormatToMediaType
- MethodToName
- HMACSHA1
- HMACSHA256
- MD5
- CreateNonce
- IWebAuthenticator
- 方法
- BeforeExecute
- AfterExecute
- PrepareHttp
- PrepareCurl
- WebAsyncWrapper
- 屬性
- Client
- 方法
- ExecuteAsync
- 范例
- Salesforce網站
- Google APIs
- Todoist API
- 其他主題
- 調試
- 授權
- 實現自己的IWebAuthenticator
- Url編碼
