add user"s books api

This commit is contained in:
2013-03-11 19:53:15 +08:00
parent 4505c5bf20
commit ec0571bba4
3 changed files with 14 additions and 0 deletions
+2
View File
@@ -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不区分大小写)
+11
View File
@@ -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
+1
View File
@@ -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'