我一直在读书,我发现这个名为Grape的微框架用于红宝石.我目前正在使用Sinatra来处理Web界面,但我还想实现Grape来处理应用程序的API方面.我找不到任何有用的建议来解决这个问题.葡萄文档说"Grape是一个类似REST的API微框架,用于Ruby.它设计用于在Rack上运行,或通过提供简单的DSL来轻松开发RESTful API,从而补充现有的Web应用程序框架,如Rails和Sinatra." 所以听起来应该有正式的两种方式相结合的方式吗?这个应用程序也将在Heroku上运行.
我一直在寻找拒绝所有HTTP方法但POST的方法.是的,我意识到这可能不会阻止很多,但我想让它工作.我遇到了一种拒绝所有但使用.htaccess文件发布的方法:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} !^POST
RewriteRule ^.*$ /home/user/public_html/folder/bad_request.php
Run Code Online (Sandbox Code Playgroud)
现在在我的iPhone应用程序中,我有以下代码,其中POST的数据到网站:
NSString *post_length = [NSString stringWithFormat:@"%d",[post_data length]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://folder.domain.com/"]];
[request setHTTPMethod:@"POST"];
[request setValue:post_length forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:post_data];
Run Code Online (Sandbox Code Playgroud)
当我用我当前的.htaccess运行这个代码,如上所示我得到bad_request页面,好像我没有发布数据,但如果我将.htaccess规则更改为!^ GET我可以在浏览器中访问它并获得访问但是当我发布随着iPhone代码,我被拒绝...所以这是倒退的.有谁知道它为什么不工作?