我正在编写一个REST Web服务,可以将文本从一种语言翻译成另一种语言。文本可能相当大,最多可达几兆字节。
哪种HTTP动词最好用?
我的第一个想法是使用GET,因为获取您给定文本的翻译。但4K URL长度限制不适用于大型文本。使用GET的邮件正文是discouraged。
我的第二个想法是使用POST,所以我可以在请求正文中传递文本。但它似乎不同意HTTP的精神。 POST用于创建事物;它会更新服务器的状态,而在我的情况下,没有更新状态。
你会用什么动词?
N.B。谷歌翻译使用POST。
答案 0 :(得分:3)
我正在学习POST,因为我看到PUT,PATCH,DELETE等作为特定选项。
GET将是“适当的”,因为它的起源是“获取给定的资源”,例如。根据您解析的一些数据获取我的翻译。
但是我相信可以说,翻译不存在,但只是生成,因此你发布你的字符串,web服务创建翻译,并返回它。此外,正如您所提到的,GET请求被URL长度阻止。