Web APIの仕組みとしてRESTfulがよく知られていますが、多くはデータベースのラッパーです。何か検索条件を送ると、それに合わせて検索が実行されて結果が返ってきます。新規追加や更新も同様です。 そのため多くの場合はフロントにあるアプリケーションは不要で、SQLerだけで事足りてしまうかも知れません。

SQLerの使い方

SQLerはデータベース接続設定やAPIの設定を記述して実行します。

$ sqler

	
			 ____   ___  _              
			/ ___| / _ \| |    ___ _ __ 
			\___ \| | | | |   / _ \ '__|
			 ___) | |_| | |__|  __/ |   
			|____/ \__\_\_____\___|_|   
											
	turn your SQL queries into safe valid RESTful apis.
	
	
⇨ sqler server version: v1.0 
⇨ sqler used driver is mysql 
⇨ sqler used dsn is root:root@tcp(127.0.0.1)/test?multiStatements=true 
⇨ sqler workers count: 8 
⇨ sqler resp server available at: :3678 
⇨ sqler rest server available at: :8025 

後は外部からWeb APIを呼び出してデータが取得できます。

$ curl http://localhost:8025/databases
{"data":[{"Database":"information_schema"},...,{"Database":"zenbership_database"}],"success":true}

SQLerではパスごとにSQLを定義します。その中には入力値の検証と、データの追加や削除なども指定できます。複雑なロジックは含められないので、データベースの薄いラッパーになりますが、データ取得系についてはSQLを駆使して複雑なものが実現できるでしょう。

SQLerはGo製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

alash3al/sqler: write APIs using direct SQL queries with no hassle, let’s rethink about SQL