Ruby on rails Rails API中创建或更新操作的正确HTTP方法是什么?

Ruby on rails Rails API中创建或更新操作的正确HTTP方法是什么?,ruby-on-rails,rest,http,ruby-on-rails-4,Ruby On Rails,Rest,Http,Ruby On Rails 4,我正在创建一个可以用JavaScript访问的API。我希望API的用户能够发送请求并在数据库中创建或更新记录。我应该为这个请求使用POST、PUT或PATCH方法吗 以下是可接受的还是超出了REST最佳实践 # POST /objects def create_or_update object = Object.find_or_create_by(params[:attribute]) if object.update_attributes(object_params) ren

我正在创建一个可以用JavaScript访问的API。我希望API的用户能够发送请求并在数据库中创建或更新记录。我应该为这个请求使用POST、PUT或PATCH方法吗

以下是可接受的还是超出了REST最佳实践

# POST /objects
def create_or_update
  object = Object.find_or_create_by(params[:attribute])
  if object.update_attributes(object_params)
    render :json => {}, :status => :ok
  else
    render :json => {}, :status => :bad_request
  end
end

依我看,这是最合适的。请参阅,这是一个“创建或替换”。

您的实现似乎只执行
update
。如果您的问题只是关于“使用哪个HTTP动词”,下面将对此进行详细介绍