フロントエンド開発として、RESTfulを扱うのも、少し慣れてきました。(現状は、従来の2層の開発+メンテも並行しい続けています。)
今の私が抱えている課題は、RESTfulのバックエンド側の構築ツールの選択です。
選択条件としては、データベースを変更(デーブル構造など..)した場合に、コードの変更箇所が少なく再現できるものを使用したい。(理由は長期間そのコードに触らない場合でも、メンテナンスが容易なもの使いたい為)
いま、新たに選択するとなると、RESTful API作成のツールの選択肢が非常に多いと感じています(私の知識不足で、適切な判断ができていない......)
TMSさんでは all-accessで、xdataという製品が使用できます。
言語では
Java
PHP
Python FastAPI
Python Django
Node.js + Express
Go言語
GraphQL など
変則的なもので、PostgreSQLが限定となりますが
PostgREST (https://postgrest.org/en/v9.0/)
CMSなどを使用するもの
WP REST API (WordPress の REST API)
concrete5 8.以降で REST API がサポート など
有償無償のクラウドサービス
Kintone
プリザンター など
などなど、たぶん、知らないだけで、もっと多くあるのだと思います。
『なにがよいでしょう』の問いに対しては、おそらく『使用する目的により、最適なものは違います』
となってしまうかと思うので、実際に踏み込んで、試せる場があっても、よいか思い、
今回、『異種なプログラミング交流会 オフライン』
https://ishuprog.connpass.com/event/233617/
というのを2021/12/18土曜日14:00~大阪の本町で、開催します。
今回の交流会で、実施予定としたいものは、バックエンドで作成したデータを、RESTfulAPIのURIとして、フロントエンドから、アクセスするといった内容です。
予定しているバックエンドは PHP Yii で、データベースは MySQL
CREATE TABLE test1
(
id integer NOT NULL ,
name varchar(20),
qty numeric(12,2)
);
INSERT INTO public.test1(id, name, qty) VALUES (1,'AAAA', 1.1);
INSERT INTO public.test1(id, name, qty) VALUES (2,'BBBB', 2.2);
INSERT INTO public.test1(id, name, qty) VALUES (3,'CCCC', 3.3);
INSERT INTO public.test1(id, name, qty) VALUES (4,'DDDD', 4.4);
INSERT INTO public.test1(id, name, qty) VALUES (5,'EEEE', 5.5);
このデータを、RESTful API として、 http://xxxxxxx.json などとして作成
これをフロント(クライアント)から
GET http://xxxxxxx.json
GET http://xxxxxxx.json/1
POST http://xxxxxxx.json/6
PUT http://xxxxxxx.json/6
DELETE http://xxxxxxx.json/6
のような動作を
PostMan/RestDebugger/curl/TMS WebCOREを使用して(ハンズオン的な感じで)実行する予定です。
以下が、別のサンプルデータですが実行したいイメージです。
RestDebugger(サンプルURIのデータ表示)
curl(サンプルURIのデータ表示)
Delphi + TMS WebCORE(サンプルURIのデータ表示)
PostManは、使ったことないので、今回どなたかに教えてもらえると、ウレシイ。
今後は、認証やCORS、フロント開発ツールの比較など、(いままでどらかというと避けていた)その他のWeb開発で必要な知識が増えるような交流会も、参加もしくは実施できればと考えています。