Rest api:如何使用 Put 方法创建 api?
Rest api: how can i create an api with Put method?
大家好,直到现在我都使用 post 方法来更新服务器上的记录,并且从来没有为此目的使用 Put 方法,因为我对如何在 Put 上发送和接收数据感到很困惑要求。
我研究了一些博客,但我无法从中理解。
我有以下问题:
问题 1:我是否必须在 Put 请求中使用 param 或 form-data 或两者?
问题 2:另外,我们可以在任何 Request 中共享 param 和 form-data 中的数据吗?
问题 3:假设我必须使用一些基本信息和附件更新服务器中的记录以及 it.so 我将如何使用 Put 方法进行处理?
目前我正在 codeigniter 3 中创建 api。
请帮我解决这个问题,感谢您的光临。
Question 1: Did i have to use param or form-data or both in Put request?
您可以同时使用两者。
URL中的参数可以使用$this->input->get()
读取,而对于PUT,您可以使用$this->input->input_stream('key', TRUE);
或$this->input->raw_input_stream
see documentation
您必须先解析或处理原始数据,然后才能在代码中实际使用它。要查看 PUT 数据的样子,只需 var_dump it
Question 2: Also, can we share data in both param and form-data in any Requests?
最好分开使用。但这取决于你的要求,如果你想这样做,你可以使用 array_merge()
将 GET 和解析的 PUT 数据合并到一个变量中
Question 3: imaging a sitation that i have to update an record in server with some basic info and an attachment along with it.so how i will go for it with Put method?
您可以将基本信息放在URL参数中,将文件内容放在请求正文中,但它可能看起来很难看,而且URL有长度限制,所以如果您的基本信息很大,它可能不适合。
或者在请求正文中将它们格式化为原始 JSON。示例:
{
"name": "John Smith",
"address": "Blablabla",
"certificate_file": "<base64 encoded file content>"
}
对于服务器端代码,就像我之前评论过的那样,我建议您使用公开可用的库,例如 CodeIgniter Rest Server
大家好,直到现在我都使用 post 方法来更新服务器上的记录,并且从来没有为此目的使用 Put 方法,因为我对如何在 Put 上发送和接收数据感到很困惑要求。 我研究了一些博客,但我无法从中理解。
我有以下问题:
问题 1:我是否必须在 Put 请求中使用 param 或 form-data 或两者?
问题 2:另外,我们可以在任何 Request 中共享 param 和 form-data 中的数据吗?
问题 3:假设我必须使用一些基本信息和附件更新服务器中的记录以及 it.so 我将如何使用 Put 方法进行处理?
目前我正在 codeigniter 3 中创建 api。
请帮我解决这个问题,感谢您的光临。
Question 1: Did i have to use param or form-data or both in Put request?
您可以同时使用两者。
URL中的参数可以使用$this->input->get()
读取,而对于PUT,您可以使用$this->input->input_stream('key', TRUE);
或$this->input->raw_input_stream
see documentation
您必须先解析或处理原始数据,然后才能在代码中实际使用它。要查看 PUT 数据的样子,只需 var_dump it
Question 2: Also, can we share data in both param and form-data in any Requests?
最好分开使用。但这取决于你的要求,如果你想这样做,你可以使用 array_merge()
将 GET 和解析的 PUT 数据合并到一个变量中
Question 3: imaging a sitation that i have to update an record in server with some basic info and an attachment along with it.so how i will go for it with Put method?
您可以将基本信息放在URL参数中,将文件内容放在请求正文中,但它可能看起来很难看,而且URL有长度限制,所以如果您的基本信息很大,它可能不适合。
或者在请求正文中将它们格式化为原始 JSON。示例:
{
"name": "John Smith",
"address": "Blablabla",
"certificate_file": "<base64 encoded file content>"
}
对于服务器端代码,就像我之前评论过的那样,我建议您使用公开可用的库,例如 CodeIgniter Rest Server