See new changelog here.
- Add
@Inject()
decorator #42, - Add
@Middleware()
decorator #40, - Add
@ContentType()
decorator #34, - Add
@Redirect()
decorator #33, - Add
@Location()
decorator #32, - Add
@UseBefore()
decorator #19, - Add
@UseAfter()
decorator #19, - Add alias
@HeaderParams()
decorator #30, - Extends
@Header()
decorator. Now @Header can be used on method #30, - Add
@MultipartFile()
decorator #31, - Refactoring
InjectorService
. You can add a no class based service (factory) #36, InjectorService
can be use inServerLoader.$onMountingMiddleware()
#39.- Add
@AcceptMime()
decorator, - Add
@Status()
decorator, - Add
@Deprecated()
decorator, - Add
@ServerSettings()
decorator to configure ServerLoader, - Add some services : ControllerService, ExpressApplication, MiddlewareService and ServerSettingsService
- Add
boostrap()
function to test your server application with Mocha and SuperTest. - Improve testing module.
- Add Symbol serialization/deserialization support.
- Fix Array deserialization when input data isn't an array.
- Support of Typescript 2.2.x.
ServerLoader.onError()
is deprecated. Use your own middleware instead of.ServerLoader.getExpressApp
is deprecated. Use ServerLoader.expressApp instead of.ServerLoader.AcceptMime()
is deprecated. Use your own middleware instead of.
You can encounter typescript compilation issues:
InjectorService.invoke(target)
has changed toInjectorService.invoke<T>(target): T
.InjectorService.get(target)
has changed toInjectorService.get<T>(target): T
.@types/express
isn't installed as dependencies now. Just makenpm install --save @types/express
.
- Add
@Session()
decorator #11, - Add
@ResponseView()
decorator #9, #16, #22, - Add model deserialization and add decorator
@JsonProperty
#3, - Add two proxy methods :
ServerLoader.set()
andServerLoader.engine()
#18, - Add
yarn
support #21, - Pass bind interface to http server #27,
- Prevent sending data if header is already sent #28,
- Add ServerLoader.mount(). This method can mount controller to one or more endpoints #13.
- Remove Bluebird and use native Promise. Breaking change are possible if you use v1.1.0 of ts-express-decorators. Just, replace Bluebird reference in your
Server.ts
or install Bluebird and @types/bluebird dependencies. - Improve
package.json
configuration. Now, IDE like webstorm can auto discovered the exposed decorators. - Implement Lifecycle hooks.
- Change testing module. See documentation (testing.md).