Closed dpc761218914 closed 6 years ago
不能,要转换成java对象的形式,类似于这种
const customerObj = {
$class: 'com.xxx.XXXDTO',
$: {
a: 1,
b: 'test',
c: {$class: 'java.lang.Long', $: 123}
}
};
使用的时候:
$class: 'com.jzy.edu.exam.domain',
$: {
id: {$class: 'java.lang.Integer', $: 2222},
name: {$class: 'java.lang.String', $: "teacher11"},
salary: {$class: 'java.lang.Integer', $: 2222},
job: {$class: 'java.lang.String', $: "teacher11"},
}
};
const mydata1={
id: {$class: 'java.lang.Integer', $: 2222},
name: {$class: 'java.lang.String', $: "teacher11"},
salary: {$class: 'java.lang.Integer', $: 2222},
job: {$class: 'java.lang.String', $: "teacher11"},
}
const data = Dubbo.IUserService.insertUser(customerObj);`
这样传对象好像不对呢
java端插入函数是这样的:insertUser(User user)
请问不用传参的情况下,method要如何定义呢?? ` methodSignature: { insertUser: user => [ { $class: "com.jzy.edu.exam.domain.User", $: user } ], fin0dUser: id => [{ $class: "java.lang.Integer", $: id }], getUser: id => [{ $class: "java.lang.Integer", $: id }], findUser: id => [{ $class: "java.lang.Integer", $: id }], getJsonUser: i => [{ $class: "java.lang.Integer", $: i }], getUserList
}`
其中java函数中getUserList是不用传参数的
需要知道User的定义
const customerObj = {
$class: 'com.xxx.XXXDTO', // User 的定义 例如:com.dubbo.demo.User
$: {
id: 2222,
name: "teacher11",
salary: 2222,
job: "teacher11",
}
};
Dubbo.IUserService
.insertUser(customerObj)
.then(data => {
console.log(data)
})
.catch(err => {
console.error(data)
})
嗯嗯,谢谢了,插入对象没问题了,请问在无参的情况下如何定义method呢
可以了,直接用空就可以了
项目需求nodejs连接dubbo接口,找到node-zookeeper-dubbo很不错,但是复杂java对象却很难开发。网上也没搜到这方面的工具,索性自己写了个,经过多次调试试错,实现了普通json自动转换为dubbo可识别的java序列化对象,可支持java实体类内嵌实体类及内嵌List这种转化,简单高效,现在实现的比较简单,就是个工具类,有兴趣的同学欢迎包装为nodejs通用插件或eggjs插件:https://github.com/harryhan1989/json-to-java
看这个吧,之前也找了很久都是要自己拼接太麻烦了
Node的代码:
这样插入数据是不成功的,不能插入数据吗?