Created
February 8, 2021 19:26
-
-
Save thejhh/94563219d6f3bb86be66ce483463cf71 to your computer and use it in GitHub Desktop.
POC: Spring style annotations in TypeScript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (c) 2020 Sendanor. All rights reserved. | |
import Request from "../../core/Request"; | |
import UserService, {UserModel} from "./UserService"; | |
export interface ListDTO<T> { | |
pageNumber : number; | |
pageSize : number; | |
content : Array<T>; | |
} | |
@Request.mapping('/foo/users') | |
@Request.mapping('/users') | |
export class UserController { | |
private readonly _userService : UserService; | |
constructor (userService : UserService) { | |
this._userService = userService; | |
} | |
@Request.mapping(Request.Method.GET, '/', '/list') | |
getUserList ( | |
@Request.param('p', Request.ParamType.INTEGER) | |
pageNumber : number = 0, | |
@Request.param('l', Request.ParamType.INTEGER) | |
pageSize : number = 10 | |
) : ListDTO<UserModel> { | |
// const parsedPageNumber = pageNumber ? parseInt(pageNumber, 10) : 0; | |
// const parsedPageSize = pageSize ? parseInt(pageSize, 10) : 10; | |
return { | |
pageNumber: pageNumber, | |
pageSize: pageSize, | |
content: this._userService.getUserList(pageNumber, pageSize) | |
}; | |
} | |
} | |
export default UserController; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment