我的问题很简单,我正在设计一个应用程序(在Ruby on Rails BTW),它也会有一个RESTful API。RESTful API讨论资源 - 图像下载
在应用程序的设计过程中,我遇到了什么是“下载图像”中的资源的问题。
我发现2种选择:
有一个名为ImagesController控制器和实际返回要下载的文件表演动作(GET请求)
有一个控制器名为ImageDownloadsController和。 (POST请求)
我选择第二个的原因是因为对于我来说,一个图像控制器wo的显示动作更有意义的是返回图片网址,以便在浏览器或模板上显示图片。
此外,因为当我设计的API,我认为它会更容易,更有意义,它匹配我的应用程序的大部分。我的意思是,API是忠实于我在APP上设计的。因此,API上的控制器操作与APP上的大部分操作相匹配。
我认为这可能是一个问题,为了设计的缘故,我的APP在ImagesController#show上返回一个文件,而在我的API上它返回一个URL。
相反,我想在我的APP上有一个名为ImageDownloadsController的控制器,其中create将返回该文件。并在我的API一个ImagesController哪里显示返回URL!我仍然不喜欢名为ImageDownload的资源!
我想听听你对此的想法,为什么你认为如果可能的话,一种方法比另一种更好。