Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Http 验证上载时要使用什么状态代码?_Http_Rest_Redirect_Jersey - Fatal编程技术网

Http 验证上载时要使用什么状态代码?

Http 验证上载时要使用什么状态代码?,http,rest,redirect,jersey,Http,Rest,Redirect,Jersey,我正在开发一个直接到S3的上传服务,该服务分为以下两部分。该服务不会被浏览器使用,而是其他软件客户端使用的RESTful API 向一个端点发出请求,该端点验证上传,如果一切正常,则返回上传URL 对从#1返回的URL发出PUT请求,以实际上传到S3 服务器应该如何构造第一个端点的响应 我考虑的第一个选项是使用GET并返回状态代码302,其中包含内容位置标题,其中包含要上载到的URL。然而,规范中重定向描述背后的意图似乎集中在表单提交后的重定向上 我正在考虑的另一个选项是对第一个端点使用POST

我正在开发一个直接到S3的上传服务,该服务分为以下两部分。该服务不会被浏览器使用,而是其他软件客户端使用的RESTful API

  • 向一个端点发出请求,该端点验证上传,如果一切正常,则返回上传URL
  • 对从#1返回的URL发出
    PUT
    请求,以实际上传到S3
  • 服务器应该如何构造第一个端点的响应

    我考虑的第一个选项是使用
    GET
    并返回状态代码302,其中包含
    内容位置
    标题,其中包含要上载到的URL。然而,规范中重定向描述背后的意图似乎集中在表单提交后的重定向上

    我正在考虑的另一个选项是对第一个端点使用
    POST
    ,并返回带有URL的
    位置
    头,如下所述:

    如果已在源服务器上创建资源,则响应 应为201(已创建),并包含一个描述 请求和引用新资源的状态以及位置 标题


    请告知其他人在这种情况下使用了什么?

    我认为这主要取决于您的API本身是否有引用上载文件的资源。唯一知道上传文件的是S3本身,还是API有引用它的东西

    如果第一种情况下只有S3知道它,那么如果它只是作为上传参数(包括URI)的生成器,那么可以使用
    GET


    如果是第二种情况,那么它不应该是一个
    GET
    ,因为您正在更改您这边的某些内容。是的,您应该制作一个
    POST
    ,但是
    Location
    头应该用于返回引用上载文件的已创建资源的URI。该资源可能具有上载URI,它可以像状态机一样运行,跟踪文件是否上载。为了避免客户端在能够上载之前需要获取该资源,您可以在
    链接
    标题中返回上载URI,并使用
    rel
    反映该目的。

    谢谢!我最终使用了一个返回代码201的帖子。