Php 这是什么类型的API?

Php 这是什么类型的API?,php,api,rest,soap,Php,Api,Rest,Soap,在您自己的环境中创建一个非常简单的表单(不需要样式) 使用HTTP POST集成到我们的Webservice API中 我已经使用Zend Framework 2编写了一个简单的应用程序。应用程序创建一个表单,该表单经过验证后将发送到“通过HTTP POST的Web服务器API”以接收响应 我希望以正确的方式查询API,因为我非常相信协议和标准 我的以下代码用于验证表单: zf-skeleton/module/MyApplication/src/MyApplication/Controller/

在您自己的环境中创建一个非常简单的表单(不需要样式)
使用HTTP POST集成到我们的Webservice API中

我已经使用Zend Framework 2编写了一个简单的应用程序。应用程序创建一个表单,该表单经过验证后将发送到“通过HTTP POST的Web服务器API”以接收响应

我希望以正确的方式查询API,因为我非常相信协议和标准

我的以下代码用于验证表单:

zf-skeleton/module/MyApplication/src/MyApplication/Controller/IndexController.php

public function submitAction() {
     $myForm = new MyForm();
     $myForm->get('submit')->setValue('Add');         

     $request = $this->getRequest();
     if ($request->isPost()) {
         $myModel = new MyModel();
         $myForm->setInputFilter($myModel->getInputFilter());
         $myForm->setData($request->getPost());

         if ($myForm->isValid()) {
             // Form is validated. [1]
GET /api?foo=1&bar=2 HTTP/1.1
Host: [theservice]
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: [my cookies]
Connection: keep-alive
HTTP/1.1 200 OK
Date: Tue, 23 Feb 2016 12:58:18 GMT
Content-Type: text/xml
Content-Length: 343
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: [Cookie data]
Vary: Accept-Encoding
Content-Encoding: gzip
Server: cloudflare-nginx
一旦表单被验证,我想知道将表单数据发送到“通过HTTPPOST的WebServerAPI”并处理响应的最佳方法

我连接的是哪种服务? 我的请求标题:

zf-skeleton/module/MyApplication/src/MyApplication/Controller/IndexController.php

public function submitAction() {
     $myForm = new MyForm();
     $myForm->get('submit')->setValue('Add');         

     $request = $this->getRequest();
     if ($request->isPost()) {
         $myModel = new MyModel();
         $myForm->setInputFilter($myModel->getInputFilter());
         $myForm->setData($request->getPost());

         if ($myForm->isValid()) {
             // Form is validated. [1]
GET /api?foo=1&bar=2 HTTP/1.1
Host: [theservice]
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: [my cookies]
Connection: keep-alive
HTTP/1.1 200 OK
Date: Tue, 23 Feb 2016 12:58:18 GMT
Content-Type: text/xml
Content-Length: 343
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: [Cookie data]
Vary: Accept-Encoding
Content-Encoding: gzip
Server: cloudflare-nginx
响应标题:

zf-skeleton/module/MyApplication/src/MyApplication/Controller/IndexController.php

public function submitAction() {
     $myForm = new MyForm();
     $myForm->get('submit')->setValue('Add');         

     $request = $this->getRequest();
     if ($request->isPost()) {
         $myModel = new MyModel();
         $myForm->setInputFilter($myModel->getInputFilter());
         $myForm->setData($request->getPost());

         if ($myForm->isValid()) {
             // Form is validated. [1]
GET /api?foo=1&bar=2 HTTP/1.1
Host: [theservice]
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: [my cookies]
Connection: keep-alive
HTTP/1.1 200 OK
Date: Tue, 23 Feb 2016 12:58:18 GMT
Content-Type: text/xml
Content-Length: 343
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: [Cookie data]
Vary: Accept-Encoding
Content-Encoding: gzip
Server: cloudflare-nginx
如果我在浏览器中输入:

http://theservice/api?foo=1&bar=2
我得到了XML格式的响应:

<response>
    <validresponse>YES</validresponse>
    <foo>21</foo>
    <bar>21</bar>
</response>

对
21
21

它是SOAP、REST、none还是unknown

REST可以生成xml和json格式的响应。所以我们不能排除休息。
在我看来,REST非常有用。

REST可以在xml和json中生成响应。所以我们不能排除休息。
在我看来,这是一种休息。

我想说,这是未知的。您不能说REST只使用JSON格式,因为它也可以使用XML。在我看来,这就是以XML格式返回一些数据的端点

我想说这是未知的。您不能说REST只使用JSON格式,因为它也可以使用XML。在我看来,这就是以XML格式返回一些数据的端点

太好了,谢谢。太好了,谢谢。