本文主要研究一下如何使用rsql實現從前端到後端的動態資料查詢。
rsql(restful service query language
)是feed item query language (fiql) 的超集,是一種restful服務的查詢語言。這裡我們使用rsql-jpa來實踐,它依賴rsql-parser來解析rsql語法,然後將解析後的rsql轉義到jpa的specification。
com.github.tennaito
rsql-jpa
2.0.2
複製**
它依賴了rsql-parser
@entity
public class todotask
複製**
@restcontroller
public class rsqlcontroller
}複製**
@component
public class todotaskservice
}複製**
這裡直接使用entitymanager來查詢,總共分三步,1是建立rsqlvisitor,2是解析condition到node,3是根據node建立criteriaquery,然後就可以根據criteriaquery來查詢了。複製**
其中%3e是》的url轉義,如果有多個and條件,用;分隔rsql是一種強大抽象的語言,可以用來做rest服務的通用查詢語言,spring-data-rest也提供了類似的功能,功能更為強大。不過這種貌似不支援or查詢,另外資料量大的時候,直接走db查詢可能造成慢查詢,因為並不是所有欄位都有索引,不過對於走elasticsearch來說,還是比較合適的。nodejs實現端到端加密
端到端加密的實現主要依據兩個主要演算法 1.diffie hellman金鑰交換演算法 上文提到過 2.aes cbc 對稱加密演算法 主要流程如下 兩台裝置各生成一對diffie hellman公私鑰。在網路上交換公鑰。兩台裝置根據自己的私鑰和對方的公鑰,生成乙個新的 相同的金鑰。利用這個金鑰,兩...
nodejs實現端到端加密
本文引用 端到端加密的實現主要依據兩個主要演算法 1.diffie hellman金鑰交換演算法 上文提到過 2.aes cbc 對稱加密演算法 主要流程如下 兩台裝置各生成一對diffie hellman公私鑰。在網路上交換公鑰。兩台裝置根據自己的私鑰和對方的公鑰,生成乙個新的 相同的金鑰。利用這...
2 10 是否要使用端到端的深度學習?
假設你正在搭建乙個機器學習系統,你要決定是否使用端對端方法,我們來看看端到端深度學習的一些優缺點,這樣你就可以根據一些準則,判斷你的應用程式是否有希望使用端到端方法。優點 端到端深度學習的第二個好處就是這樣,所需手工設計的元件更少,所以這也許能夠簡化你的設計工作流程,你不需要花太多時間去手工設計功能...