首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不允许用于fn应用程序的GET方法

不允许用于fn应用程序的GET方法
EN

Stack Overflow用户
提问于 2020-09-22 09:15:07
回答 1查看 414关注 0票数 2

我是Fn项目的新手,使用fn init --runtime java HelloWorld-func在java中创建了第一个应用程序,并且很少尝试其他场景,但是GET call遇到了一个问题。

  1. 无法拨打GET电话,但POST调用可以正常工作。我没有对源代码进行任何更改,使用使用fn init命令.

创建的默认代码。

curl -X GET http://localhost:8080/invoke/01EJTD2K1JNG8G00GZJ0000002 {“message”:“不允许的方法: GET /invoke/01EJTD2K1JNG8G00GZJ00002”}

  1. 触发器的用途是什么?

fn版本0.5.97

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-23 10:28:38

在Fn中有两种内置的调用函数的方法。

  • 调用API (例如POST http://localhost:8080/invoke/01EJTD2K1JNG8G00GZJ0000002 )
  • HTTP触发器(例如GET/PUT/POST/HEAD
  • )

这些服务有不同的目的:

invoke API是system to system API,旨在允许软件和系统调用函数作为代码的一部分--举个例子,如果您想要使用函数来处理内部应用程序事件,可以使用它。这个API有一个狭窄的契约,使客户端应用程序更容易处理错误,并区分函数何时引发错误或fn服务器引发错误。这个API只接受POST请求,并且只返回一组有限的响应代码。

另一方面,HTTP触发器是一种内置的方式,可以直接在它们自己的HTTP端点上公开函数(例如,为web页面提供服务,或者处理您定义的API )。

触发器从客户端接收原始HTTP请求(客户机可以有任何动词,如PUT/POST/HEAD和任何HTTP报头),并将请求封装在对底层函数的调用中,然后调用该函数,该函数可以提取有关请求的信息并生成HTTP响应。在中,您可以做同样的事情,但是您可以使用API网关而不是触发器来接收传入的请求(参见下面)。

在内部,您可以看到触发器是调用端点之上的一个层,该层将HTTP请求封装到invoke API上的调用中,使用包装好的请求调用函数,然后将HTTP响应信息从函数中解压回HTTP请求。

因此,invoke API与触发器或API网关之间的关键区别在于,在invoke API上,Fn定义了API (使在Fn之上构建软件变得更容易),但是在触发器上定义了API --您可以捕获完整的请求并定义完整的HTTP响应。

在Fn中,如果您想公开由处理GET并返回网页的函数实现的REST,您可以:

代码语言:javascript
复制
   fn create trigger <appname> <funcname> <triggername>  --type http  --source http 

  • 获取已发布的触发器端点:

代码语言:javascript
复制
fn list trigger <appname> 

testapp testtrigger 01E6YM3R80NG8G00GZJ000000R  http    /trig   http://localhost:8080/t/node/trig

  • 通过其HTTP端点

调用该函数

代码语言:javascript
复制
curl http://localhost:8080/t/node/trig
...

在中,您可以通过创建一个将函数绑定到HTTP端点的API网关来完成同样的任务。这里记录了一个如何做到这一点的例子:

https://blogs.oracle.com/developers/creating-your-first-api-gateway-in-the-oracle-cloud https://blogs.oracle.com/developers/working-with-http-in-oracle-functions-using-the-fn-project-python-fdk

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64006637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档