除了生成CRUD API外,Aista Magic Cloud还允许您使用SQL生成API端点。发电机将照顾诸如授权,记录,生成锅炉板代码等的内容。您需要担心的只是您的SQL。
关于Hyperlambda的全部要点是它是声明性编程语言。当您具有声明性的编程语言时,计算机可以通过与您从StackOverflow复制和粘贴代码相似的过程自动生成代码的很大一部分。这意味着,即使您除了SQL以外什么也不能编码,您仍然可以创建Web API端点 - 因为魔术为您提供了一切,只要您为其提供一些SQL。
在下面的视频中,我正在演示整个过程。如果您想复制我的工作,signup at Hub并创建自己的Cloudlet。
魔术产生的代码可以在下面找到。
/*
* Template for custom SQL HTTP request.
* This file was automatically generated using Magic's CRUDifier.
*/
.arguments
filter:string
.type:sql
// Opening up a database connection
data.connect:chinook
database-type:sqlite
// Parametrizing [data.select].
add:x:./*/data.select
get-nodes:x:@.arguments/*
// Evaluating [xxx.select] slot.
data.select:"\n/*\n * Script to aggregate records for each artist in chinook database.\n * Make sure you select the chinook database before execxuting the script.\n */\nselect ar.Name, count(*) as count\n from Album al, Artist ar where al.ArtistId = ar.ArtistId and ar.Name like @filter\n group by al.ArtistId\n order by count desc\n limit 25\n"
database-type:sqlite
/*
* Checking if we should return a list of items, or only a
* single item.
*/
if
.is-list:bool:true
.lambda
// Returning a list of items to caller.
return-nodes:x:@data.select/*
// Returning a single result to caller.
return-nodes:x:@data.select/*/*
谢谢您的阅读:)