栗粒粒 发表于 2020-7-23 12:02:52

关于什么是api的问题

利用Django写了一个项目
在views视图里定义了这么一个函数
def question_answer(request,question):
    qa = QA()
    answer = qa.chatbot.chat_main(question)
    return HttpResponse(answer)
设置了对应的url来输入question
url(r'^QA/(?P<question>\w+)/

然后在经过程序里的chat_main(question)函数运行之后,得到answer,再显示在网页上
比如输入网址是   http://127.0.0.1:8000/QA/杭州   时,
网页上就显示    杭州,一个美丽富饶的城市
这样算作是chat_main函数的一个api接口吗?
如果是的话,要怎么用python程序来调用它呢?
因为这个网址只有局域网内的设备可以访问,其他设备并不能访问。
如果是在局域网外的设备上使用了python程序来调用它,需要再对这个接口做什么改动呢?,views.question_answer),

然后在经过程序里的chat_main(question)函数运行之后,得到answer,再显示在网页上
比如输入网址是   http://127.0.0.1:8000/QA/杭州   时,
网页上就显示    杭州,一个美丽富饶的城市
这样算作是chat_main函数的一个api接口吗?
如果是的话,要怎么用python程序来调用它呢?
因为这个网址只有局域网内的设备可以访问,其他设备并不能访问。
如果是在局域网外的设备上使用了python程序来调用它,需要再对这个接口做什么改动呢?

赚小钱 发表于 2020-7-23 12:54:47

1. 模块之间的调用就是 API
    在面向过程中,就是函数之间的调用
    在面向对象中,就是对象之间的调用
    在服务之间,就是网络请求之间的调用

2. web api 开发中有两个关键点
    a. 路由规则,描述你的资源分布情况
    b. 处理器,定义如何处理 http 请求
这两者之间需要绑定,才能实现访问特定类型的 URL 触发响应的操作

3. 通过 http 的请求来调用 http api,这是网络应用层级别的 API,和语言无关,
页: [1]
查看完整版本: 关于什么是api的问题