Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Simple Vapor 3 Pagination

License

NotificationsYou must be signed in to change notification settings

vapor-community/pagination

Repository files navigation

SwiftVaporCircleCI

Vapor Pagination

Pagination is based off of the Fluent 2 pagination system.

Getting Started

Add this to your Package.swift file

.package(url:"https://github.com/vapor-community/pagination.git", from:"1.0.0")

Conform your model toPaginatable

extensionMyModel:Paginatable{}

Once you have done that, it's as simple as returning your query in paginated format.

func test(_ req:Request)throws->Future<Paginated<MyModel>>{returntryMyModel.query(on: req).paginate(for: req)}

Even return items off of the query builder

func test(_ req:Request)throws->Future<Paginated<MyModel>>{returntryMyModel.query(on: req).filter(\MyModel.name=="Test").paginate(for: req)}

Making a request with the parameters is easy is appending?page= and/or?per=

curl "http://localhost:8080/api/v1/models?page=1&per=10"

A response looks like this

{"data": [{"updatedAt":"2018-03-07T00:00:00Z","createdAt":"2018-03-07T00:00:00Z","name":"My Test Model"  }],"page": {"position": {"current":1,"max":1    },"data": {"per":10,"total":2    }  }}

[8]ページ先頭

©2009-2025 Movatter.jp