class GApiRequestPagesCreate
ページ作成リクエスト用クラス @ref github.com/growi/growi/blob/master/lib/routes/page.js
Public Class Methods
new(param = {})
click to toggle source
コンストラクタ @override @param [Hash] param APIリクエストのパラメータ
Calls superclass method
GApiRequestBase::new
# File lib/growi/client/apireq/api_request_pages.rb, line 138 def initialize(param = {}) super('/_api/pages.create', METHOD_POST, { body: param[:body], path: param[:path], grant: param[:grant] }) end
Public Instance Methods
execute(entry_point, rest_client_param: {})
click to toggle source
リクエストを実行する @override @param [String] entry_point APIのエントリーポイントとなるURL(ex. localhost:3000/_api/pages.list) @param [Hash] rest_client_param RestClientのパラメータ @return [Array] リクエスト実行結果
# File lib/growi/client/apireq/api_request_pages.rb, line 148 def execute(entry_point, rest_client_param: {}) if invalid? return validation_msg end params = { method: :post, url: entry_point, payload: @param.to_json, headers: { content_type: :json, accept: :json } }.merge(rest_client_param) GCLogger.logger.debug('Request: ' + params.to_s) begin raw_ret = RestClient::Request.execute params GCLogger.logger.debug('Return: ' + raw_ret.to_s) ret = JSON.parse raw_ret rescue Exception => e GCLogger.logger.error(e) return GCInvalidRequest.new "Unknown error occured: #{e}" end if (!ret['ok'].nil? && ret['ok'] == false) return GCInvalidRequest.new "API return false with msg: #{ret['msg']}" end return GApiReturn.new(ok: ret['ok'], data: GrowiPage.new(ret['page'])) end
Protected Instance Methods
_invalid()
click to toggle source
バリデーションエラーを取得する @override @return [nil/GCInvalidRequest] バリデーションエラー結果
# File lib/growi/client/apireq/api_request_pages.rb, line 181 def _invalid if ! (@param[:body] && @param[:path]) return GCInvalidRequest.new 'Parameters body and path are required.' end end