Rails-Api 限制 url 的长度
Rails-Api limits length of url
向我的 rails 应用程序发送请求时:
http://0.0.0.0:3334/v1/api/notebooks/users/verified/courses/None/files/asset-v1%3AedX%2BDemoX%2BDemo_Course%2Btype%40asset%2Bblock%40Welcome_R__-_demo.ipynb
我注意到 rails 传递给控制器的参数是:
Parameters: {"username"=>"verified", "course"=>"None", "file"=>"asset-v1:edX+DemoX+Demo_Course+type@asset+block@Welcome_R__-_demo"}
它已删除句点或 .file 扩展名。我意识到这是因为 rails 似乎为 url 设置了一些最大长度。有办法解决这个问题吗?
URL 的最后一部分通常被拉出为 params[:format]
。您可以通过将路径指定为 /*path
来避免这种情况,但通常将格式参数重新打开并不是什么大问题。
过长的 URL 通常是错误的。 URLs 超过 2,000 个字符在最流行的网络浏览器中不起作用。如果您想让您的网站为大多数 Internet 用户服务,请不要使用它们。
当您希望提交包含许多字段的表单时,否则会产生很长的 URL,标准解决方案是使用 POST
方法而不是 GET
方法:
<form action="myaction" method="POST">
...
</form>
查看有关限制的更多信息here
向我的 rails 应用程序发送请求时:
http://0.0.0.0:3334/v1/api/notebooks/users/verified/courses/None/files/asset-v1%3AedX%2BDemoX%2BDemo_Course%2Btype%40asset%2Bblock%40Welcome_R__-_demo.ipynb
我注意到 rails 传递给控制器的参数是:
Parameters: {"username"=>"verified", "course"=>"None", "file"=>"asset-v1:edX+DemoX+Demo_Course+type@asset+block@Welcome_R__-_demo"}
它已删除句点或 .file 扩展名。我意识到这是因为 rails 似乎为 url 设置了一些最大长度。有办法解决这个问题吗?
URL 的最后一部分通常被拉出为 params[:format]
。您可以通过将路径指定为 /*path
来避免这种情况,但通常将格式参数重新打开并不是什么大问题。
过长的 URL 通常是错误的。 URLs 超过 2,000 个字符在最流行的网络浏览器中不起作用。如果您想让您的网站为大多数 Internet 用户服务,请不要使用它们。
当您希望提交包含许多字段的表单时,否则会产生很长的 URL,标准解决方案是使用 POST
方法而不是 GET
方法:
<form action="myaction" method="POST">
...
</form>
查看有关限制的更多信息here