1. 使用 npm 创建项目
为遵循本教程创建一个新目录(例如,)并输入它。tutorial
壳
1
mkdir tutorial
2
cd tutorial
现在从终端在该目录中运行以下命令。
壳
1
npm init jolie
系统将询问您随之而来的常见问题,例如要使用的许可证。npm init
然后,您将看到朱莉特定的问题。继续,只需按回车键:默认值正是本教程所需要的。
特别是,对获取Dockerfile和开发容器配置说“是”。我们将需要这些。
接下来,你选择你想要的朱莉项目类型。选择“清空朱莉项目”。
您现在应该具有以下目录结构(加上通常的目录)。node_modules
2. 在VSCode中编写您的服务
使用 VSCode 打开教程的目录。
壳
1
code .
编辑器将自动检测文件夹的存在,并询问我们是否要在容器中重新打开目录。通过单击下面的蓝色按钮继续执行此操作。.devcontainer
首次创建容器可能需要一段时间。VS Code 完成准备工作后,您应该会在窗口底部的状态栏中看到下面显示的绿色确认。
现在我们可以开始编码了!在本教程中,我们将创建一个简单的服务,该服务接受用于生成问候语的 HTTP 请求,这些请求在查询字符串中带有要问候的名称。例如,调用应返回类似 JSON 值。http://localhost:8080/greet?name=Jane
{ greeting: "Hi Jane" }
打开文件,其中包含调用的空服务。main.ol
Main
我们从编写服务的 API 开始。它包含一个调用的操作,该操作接收类型的消息并使用类型的消息进行回复。有关更多详细信息,您可以查看此Jolie 简介或Jolie 文档。greet
GreetRequest
GreetResponse
type GreetRequest { name: string }
type GreetResponse { greeting: string }
interface GreeterInterface {
RequestResponse:
greet( GreetRequest )( GreetResponse )
}
service Main {
main {
// Your code here
}
}
我们现在可以在服务中实现我们的 API,获取以下代码。Main
type GreetRequest { name: string }
type GreetResponse { greeting: string }
interface GreeterInterface {
RequestResponse:
greet( GreetRequest )( GreetResponse )
}
service Main {
execution: concurrent
inputPort GreeterInput {
location: "socket://localhost:8080"
protocol: http { format = "json" }
interfaces: GreeterInterface
}
main {
greet( request )( { greeting = "Hi " + request.name } )
}
}
该属性告诉 Jolie,此服务应同时处理客户端。execution: concurrent
然后,我们为我们的 API 定义一个接入点,该接入点可在 TCP 端口 8080 的本地主机上使用(),使用 HTTP 作为传输,JSON 作为首选格式 (),并公开我们之前定义的接口 ()。
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293177.html