2013-12-02 3 views
1

Привет, ребята, у меня возникла проблема, и я прочитал несколько тем и до сих пор не могу решить мою проблему.JSON Post to rails

Я строй API на рельсах 4.0 и у меня есть метод в моем контроллере, показанные ниже:

def jsonApiSearch 

    @firstName = params[:fn]   # 
    @lastName  = params[:ls]   # 
    @eID   = params[:custid]  # 
    @prod   = params[:prod]  # 
    @classifation = params[:classifation]  # 
    @status  = params[:status]  # 
    @specialty = params[:specialty] # 
    @aIDType  = params[:aIDType]  # 
    @aID   = params[:aID]   # 
    @address  = params[:address]  # 
    @city   = params[:city]  # 
    @state  = params[:state]  # 
    @country  = params[:country]  # 
    @postalCode = params[:pc]   # 
    @role   = params[:role]   
    @affiliation = params[:affill]  
    @priorityRank = params[:pr] 
    @strict  = params[:strict] 

    #do something with the data 
end 

Мой путь файл имеет следующий код:

post '/jsonsearch', to: 'api#jsonApiSearch' 

Так я тогда отправьте запрос на отправку в конечную точку/jsonsearch.

я установить тип содержимого и приложения/JSON, а затем поместить это в тело, как это:

{ «сообщение»: «Давайте посмотрим, если это работает.», «Субъект»: «JSON через curl "}

Я продолжаю возвращать ошибку 422 Unprocessable Entity.

Кто-нибудь знает, что я делаю неправильно?

SOLVED: Оказывается, что я оставил protected_from_forgery включенным, что вызывало проблему. Теперь это исправлено.

+0

Вы должны написать свой ответ в качестве ответа – juanpastas

ответ

0

Оказывается, что я оставил protected_from_forgery включенным, что вызывало проблему. Он включен по умолчанию и остановит любые методы, не связанные с получением, без какой-либо авторизации. Отключите его, и ваш пост начнет работать.