データ形式フレーム
3538 ワード
XStream
Get Start http://x-stream.github.io/index.html processAnnotations(DataSource.class); annotation の使用 autodetectAnnotations(true) 注釈を自動的に検出すると、すべてのクラスのタイプがキャッシュされる.だから性能は です反復シーケンス化(XML->JavaBean) は使用できません.
Annonationがあるかどうかにかかわらず、 に変換できます. xmlノードパケット名 を除去する
Annonation@XStreamAlias:xmlノード名をカスタマイズするために使用され、デフォルトは属性名に等しく、rootノードのデフォルトはクラス名 に等しい@XStreamAsAttribute:xmlノード属性、属性名を変更するには@XStreamAliasと を併用する必要があります@XStreamOmitField:この属性を無視する @XStreamImplicit:リストのパッケージを削除 itemFieldName:listのノードの名前 @XStreamConverter:カスタムタイプで元のオブジェクトのタイプを変換 @XStreamConverter(value=T o t i t r i butedValueConverter.class,strings={"content"):contentノードのパッケージを除去し、内容 のみを残す
Jackson
XMLとJava Beanの変換 getting start 公式サイト:https://www.baeldung.com/jackson com.fasterxml.jackson.dataformat:jackson-dataformat-xml @JacksonXmlRootElement:とノード localname:指定ノード名 namespace : xmlns @JacksonXmlProperty localname isAttribute=true:ノード ではなく属性です. kotlin使用@get:JacksonXmlProperty @JacksonXmlElementWrapper:コレクションクラスを使用して複数のノードまたはサブノードを定義する localname:親ノード名を定義する @JacksonXmlPropertyを使用してサブノード名 を定義できます. useWrapping=false:サブノード を使用しない
@JacksonXmlText ノードを除去し、コンテンツ のみを残す.プロパティとvalueのあるノードを作成するためのvalue XmlMapper xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL):空のノード は無視されます. xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION,true):ヘッダ情報 を追加 xmlMapper.enable(ToXmlGenerator.Feature.WRITE_XML_DECLARATION):ヘッダ情報 を追加 xmlMapper.writeValueAsString(s) JsonRpc
Getting Start Dependency implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml" implementation "com.fasterxml.jackson.module:jackson-module-kotlin" インタフェースの提供 interface定義インタフェースpath:@JsonRpcService("/payment") impl実装方法:@AutoJsonRpcServiceImpl 呼び出しインタフェース val client = JsonRpcHttpClient(URL("http://localhost:8080/xxx"), emptyMap()) val clientProxy = ProxyUtil.createClientProxy(javaClass.classLoader, XXXInterface::class.java, client) 必要 は、パターンを介して入力戻り値タイプ をサポートしない.
RequestとResponseはhttpを使用
Getting Start implementation "org.springframework.boot:spring-boot-starter-velocity:1.4.7.RELEASE" 使用 VelocityEngine Template 転載先:https://www.cnblogs.com/judesheng/p/10621744.html
Get Start
Annonation
Jackson
XMLとJava Beanの変換
Getting Start
@Bean
fun autoJsonRpcServiceImplExporter() = AutoJsonRpcServiceImplExporter().apply {
setObjectMapper(jacksonObjectMapper())
}
RequestとResponseはhttpを使用
{
id: 1
method: crate
params: [param1,2,3...]
}
VelocityGetting Start
var velocityEngine = VelocityEngine()
velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath")
velocityEngine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader::class.java.name)
velocityEngine.init()
var template = velocityEngine.getTemplate("templates/${requestMethod}.vm")
val context = VelocityContext()
context.put("key", "value")
val writer = StringWriter()
template.merge(context, writer)
writer.buffer.toString()