diff --git a/README.md b/README.md index 48af9ae..171edb6 100644 --- a/README.md +++ b/README.md @@ -35,12 +35,14 @@ Build Status * 2013.2.26 添加归还已经借阅图书的API * 2013.2.27 修改借书逻辑,由之前的系统自动查找合适人选,变为借书者自行选择合适的拥有书者。修改bookinfo API增加返回所有当前可借的实例信息 * 2013.2.28 添加私有书籍选项,用户在添加书籍是可以设置书籍为私有书籍,私有书籍他人不可见,仅用户自己可见 + * 2013.3.11 添加用户书籍API #### JSON API使用指南 * GET /api/userinfo/:user_id 用户用户的相关信息 * GET /api/bookinfo/:isbn 需要传入书籍的13位ISBN号,获取书籍的相关信息,拥有书籍的用户,和当前所有可借的用户信息 * GET /api/books 以列表形式获取图书信息,每页10条信息,如要获取第二页信息地址则为 /api/books/?page=2,依次类推 + * GET /api/users/:user_id/books 以列表的形式获取某个用户的图书信息,使用方式和/api/books 类似 * GET /api/book/search/:keyword 图书搜索,最多返回20条相关记录 * POST /api/auth 客户端使用auth key,进行验证登录,验证成功后,可以使用该key,进行所有需要认证的操作。 必填参数key,auth在用户中心,点击小锁图片即可进入KEY管理页面。(KEY不区分大小写) diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 4c3f33a..c21ee93 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -31,6 +31,17 @@ class ApiController < ApplicationController total_count: Book.count} end + def user_books + user = User.find_by_id params[:user_id] + count = 10 + @books = user.open_books.order('id DESC').paginate(:page => params[:page], :per_page => count) + params[:page] ? current_page = params[:page] : current_page = '1' + render json: {books: @books, + current_page: current_page, + total_page: total_page(user.open_books.count, count), + total_count: user.open_books.count} + end + def total_page(count, per_page) count%per_page == 0 ? count/per_page : (count/per_page) +1 end diff --git a/config/routes.rb b/config/routes.rb index 95a076f..7dc39fb 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -28,6 +28,7 @@ Libr::Application.routes.draw do get 'api/bookinfo/:isbn' => 'api#book_info' get 'api/userinfo/:user_id' => 'api#user_info' get 'api/books' => 'api#books' + get 'api/users/:user_id/books' => 'api#user_books' post 'api/auth' => 'api#auth' get 'api/books/search/:keyword' => 'api#search' post 'api/books/add' => 'api#add_book'