Objective-C如何使用AFNetworking发布表单数据?(Objective-C How to POST form-data using AFNetworking?)
我有一个web服务,我可以通过Postman实用程序成功发布调用。 在Postman上的设置是
我无法使用代码使用Afnetworking进行相同的调用。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"body": @{@"email":@"email@gmail.com",@"name":@"myName"}}; [manager POST:@"http://myURL.com/user" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }];
我的猜测是我没有正确设置表单数据?
I have a webservice and I can successfully make post calls to it via Postman utility. On Postman the settings are
I am unable to make the same call using Afnetworking using code.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"body": @{@"email":@"email@gmail.com",@"name":@"myName"}}; [manager POST:@"http://myURL.com/user" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }];
My guess is that I am not setting the form-data correctly?
原文:https://stackoverflow.com/questions/28583210
最满意答案
您需要创建自己的继承自Devise的控制器。
class Admins::SessionsController < Devise::SessionsController end
然后你告诉devise使用那个控制器:
devise_for :admins, :controllers => { :sessions => "admins/sessions" }
并将您的视图从设计/会话复制到管理员/会话。
你可以在这里阅读: https : //github.com/plataformatec/devise
You need to create your own controllers inheriting from Devise's.
class Admins::SessionsController < Devise::SessionsController end
Then you tell devise to use that controller:
devise_for :admins, :controllers => { :sessions => "admins/sessions" }
And copy your views from devise/sessions, to admin/sessions.
You can read it here: https://github.com/plataformatec/devise
相关问答
更多-
Devise使用内部控制器,您可以在自己的代码中访问和分类。 它们在Devise模块下。 例如,要扩展RegistrationsController : class MembershipsController < Devise::RegistrationsController # ... end 然后你所要做的就是配置Devise的路线来代替使用你的控制器: devise_for :members, :controllers => { :registrations => 'memberships' } ...
-
定制设计控制器(Customizing devise controller)[2021-08-02]
我认为你需要重写注册控制器: devise_for :users, :controllers => {:registrations => "registrations"} 然后是控制器: 控制器/ registrations_controller.rb class RegistrationsController < Devise::RegistrationsController def create build_resource(sign_up_params) admin_user ... -
在这里找到一个示例控制器 在ApplicationController中,您需要定义然后设置回调,如下所示: define_callbacks :logging_in_user set_callback :logging_in_user, :before, :transfer_guest_user_actions_to_current_user def transfer_guest_user_actions_to_current_user # todo end Found an example co ...
-
我想我可能已经解决了这个问题。 看来我不得不在api命名空间块之外添加一个devise_for: MyApplication::Application.routes.draw do devise_for :users, skip: [:sessions, :passwords, :registrations] namespace :api, defaults: { format: :json } do namespace :v1 do devise_scope :user d ...
-
如何通过IP地址限制对所有设备控制器的访问?(How can I restrict access to ALL devise controllers by IP address'?)[2023-04-01]
构建如下所示的类并将其放在RAILS_ROOT/lib/blacklist_constraint.rb 。 class BlacklistConstraint def initialize if Rails.env == 'development' or Rails.env == 'test' @whitelist = ['59.120.201.20', '59.120.201.21'].freeze else @whitelist = ['59.120.201. ... -
Twitter的activerecord-reputation-system gem + Devise(Twitter's activerecord-reputation-system gem + Devise)[2023-04-16]
您应该在应用中要求reputation_system 。 您可以通过添加到Gemfile来执行此Gemfile : gem 'activerecord-reputation-system', :require => 'reputation_system' 更新:从版本2.0.0您不再需要Reputation_system: gem 'activerecord-reputation-system' You should require reputation_system in your app. You ... -
正如@benchwarmer所说,如果你把控制器放在子目录中,你需要相应地命名类名; 在你的情况下App::ApplicationController 。 但是,您似乎需要使所有现有的控制器继承App::ApplicationController而不是ApplicationController 。 为什么不将ApplicationController保持在顶层,如果你需要主应用程序或营销应用程序的其他方法,例如,在Marketing::MarketingController创建一个Marketing::Ma ...
-
我认为您的文件夹结构可能有问题。 尝试这个结构:(它与Gem文件夹中的相同) app/controllers/devise/registrations_controller.rb app/views/devise/registrations/new.html.erb app/views/devise/registrations/edit.html.erb 并且控制器文件看起来与在gem文件夹中声明的相同: #app/controllers/devise/registrations_controller.r ...
-
认为我解决了它。 问题出在我的form_for我使用了错误的路线。 而不是使用默认的registration_path作为url ,而是使用: user_registration_path(resource_name) 愚蠢的错误。 进入另一个问题,我现在继续得到:注册时ActionController::UnknownFormat 。 但它现在至少使用我的自定义控制器。 Think I solved it. The issue was in my form_for where I used the wr ...
-
我想定制设计宝石的控制器,它有可能,怎么做?(I want to customise devise gem's controllers, is it possible and how to do?)[2022-12-05]
您需要创建自己的继承自Devise的控制器。 class Admins::SessionsController < Devise::SessionsController end 然后你告诉devise使用那个控制器: devise_for :admins, :controllers => { :sessions => "admins/sessions" } 并将您的视图从设计/会话复制到管理员/会话。 你可以在这里阅读: https : //github.com/plataformatec/devise ...