Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 其余:我不';我不明白_Php_Rest_Service - Fatal编程技术网

Php 其余:我不';我不明白

Php 其余:我不';我不明白,php,rest,service,Php,Rest,Service,我试图理解并设置REST服务,但有些事情我不清楚 关于以下内容: 让我们看看一些可能的请求可能意味着什么:获取 请求/api/用户–列出所有用户。获取对/api/users/1的请求- ID为1的用户的列表信息 如何设置?/api/users/1是文件夹中的文件吗?如果没有,这是如何工作的呢?当我浏览到api/users/1时,我会得到一个404错误,不是吗 [编辑]对于我的应用程序,有人建议我使用带有AJAX的REST服务。您需要使用服务器端语言和web服务器。这允许您配置将响应特定客户端请求

我试图理解并设置REST服务,但有些事情我不清楚

关于以下内容:

让我们看看一些可能的请求可能意味着什么:获取 请求/api/用户–列出所有用户。获取对/api/users/1的请求- ID为1的用户的列表信息

如何设置?/api/users/1是文件夹中的文件吗?如果没有,这是如何工作的呢?当我浏览到api/users/1时,我会得到一个404错误,不是吗


[编辑]对于我的应用程序,有人建议我使用带有AJAX的REST服务。

您需要使用服务器端语言和web服务器。这允许您配置将响应特定客户端请求的虚拟文件夹或路由。根据您使用的服务器端平台和语言,有不同的技术来实现这一点。例如,如果使用,则可以配置以下路由:

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
现在,当您向
/api/users
发送请求时,将执行
api
控制器上的
users
操作,并将其作为
id
参数传递为null。如果您请求
/api/users/1
,则将执行
api
控制器的
users
操作,并将1作为
id
参数传递

服务器上实际上不存在任何文件
api
users
。路由引擎拦截请求并将其分派给相应的服务器端处理程序


您可以看一看如何使用PHP实现这一点。

本文假设请求映射到可以根据需要处理URL-s的web应用程序。例如,如果您使用Java(和JAX-RS),您可以将
/users
映射到您的一个servlet,并在处理方法中获得子URL部分作为参数。要抓住要点,请参阅本文:


例如,它适用于Apache的.htaccess文件,该文件重写并重新路由URl(使用mod_rewrite)


查看更多信息。

那么您想用PHP实现它吗?请添加标记。这是服务器配置。查找
.htaccess
mod\u rewrite
。有大量的问题和有用的答案。请使用搜索。注意:此答案是在问题被标记为PHP之前添加的。无论如何,感谢您的努力。因此建议我使用带有AJAX的REST服务来完成此服务器端(使用PHP/javascript)。这将如何改变情况?谷歌搜索“设置rest服务ajax”(以及其他类似的查询)不会产生有用的结果。@Niek,一旦设置了服务器端部分,就可以将任何类型的客户端写入此rest API。Javascript只是允许您使用此API的一个示例。您可以看看一些流行的框架,比如jQuery,它使以浏览器无关的方式执行AJAX请求变得非常容易。它提供了一个如何处理REST请求的文件,但不提供如何使用该文件。这个问题在我找到的每个网站上都会出现。@Niek,你可以使用AJAX。你熟悉AJAX吗?不太熟悉。我熟悉Java(“普通”和Android)和一点php。我刚刚开始尝试在这方面获得一些经验。
@Path("/users/{username}")
public class UserResource {

    @GET
    @Produces("text/xml")
    public String getUser(@PathParam("username") String userName) {
        ...
    }
}