朋友圈 app端 響應(yīng) 點(diǎn)贊 喜歡 評(píng)論
戶點(diǎn)擊評(píng)論時(shí)需要查詢單條動(dòng)態(tài)詳情,需要有接 持。
響應(yīng)的數(shù)據(jù)接 與查詢好友動(dòng)態(tài) 致,只是單條返回 不是集合。
要注意的是,dubbo服務(wù)接 在前 已經(jīng)開發(fā)完成,現(xiàn)在只要想實(shí)現(xiàn)APP端的接 服務(wù)即可。
controller
/** * 查詢單條動(dòng)態(tài)信息 * * @param publishId * @return */@GetMapping(“/{id}”)public ResponseEntity queryById(@PathVariable(“id”) String publishId) { try { QuanZiVo movements = this.quanZiService.queryById(publishId); if(null != movements){ return ResponseEntity.ok(movements); } } catch (Exception e) { e.printStackTrace(); } return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();}
service
public QuanZiVo queryById(String publishId) { Publish publish = this.quanZiApi.queryPublishById(publishId); if (publish == null) { return null; } return this.fillQuanZiVo(Arrays.asList(publish)).get(0);}
在完成查詢單條動(dòng)態(tài)接 后,會(huì)發(fā)現(xiàn),刷新 時(shí)會(huì)出現(xiàn)如下異常:
java.lang.IllegalArgumentException: invalid hexadecimal representation of an
ObjectId: [visitors]
at org.bson.types.ObjectId.parseHexString(ObjectId.java:550)
at org.bson.types.ObjectId.(ObjectId.java:239)
at
com.tanhua.dubbo.server.api.QuanZiApiImpl.queryPublishById(QuanZiApiImpl.java:4
11)
at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java)
at
com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(Javassis
tProxyFactory.java:47)
at
com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.ja
va:76)
at
com.alibaba.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(Delegat
eProviderMetaDataInvoker.java:52)
at
com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
原因是:誰看過我的接 還沒實(shí)現(xiàn),導(dǎo)致了映射到了查詢單條動(dòng)態(tài)的接 ,導(dǎo)致的異常,
在 server.controller.QuanZiController 寫個(gè)方法
/**
* TODO:誰看過我
*
* @return
*/
@GetMapping(“visitors”)
public ResponseEntity queryVisitors() {
return ResponseEntity.ok(Collections.EMPTY_LIST);
}