I'm writing a REST web service that translates texts from one language to another. The text can be fairly large, up to a few megabytes.
What HTTP verb is best to use?
My first thought was to use GET because it gets you the translation for the given text. But the 4K URL length restriction will not do for large texts. The use of the message body with GET is discouraged.
My second thought was to use POST so I can pass the text in the request body. But it doesn't seem to agree with the spirit of HTTP. POST is used to create things; it updates the state of the server while in my case no state is being updated.
What verb would you use?
N.B. Google Translate uses POST.