Comments (4)
Fixed the issue by using
users = res.map( user => user.toJSON() );
from routing-controllers.
what is a response content here? also try to do response.end
after response.send
from routing-controllers.
I have tried https://github.com/MContagious/routing-controller-sample. And changed my code which now looks like below,
UserController.ts
import { Service } from "typedi";
import { JsonController, Get, Post, Put, Delete, Body, Param, EmptyResultCode, NotFoundError } from "routing-controllers";
import { UserService } from "../services/UserService";
import { IUser } from "../models/User";
import * as debug from 'debug';
const mod = "MarketEve:UserController";
@Service()
@JsonController("/v1/users")
export class UserController {
constructor(private userService:UserService) {
this.userService = new UserService();
}
@Get("/")
getUsers():Promise<IUser[]> {
return this.userService.fetchAll().then((users) => {
return users;
}).catch((err) => {
debug(`ERROR:${module}:getHeroById`)(err);
throw new NotFoundError(err.message);
});
}
}
UserService.ts
import mongoose = require('mongoose');
import { Service } from "typedi";
import { User, IUser } from '../models/User';
@Service()
export class UserService {
constructor() {
}
fetchAll(){
return new Promise((resolve, reject) => {
User.find({})
.populate('_creator')
.exec((err: any, res: any) => {
if(err){
reject(new Error("No users found"));
}else{
resolve(res);
console.log(res);
}
})
});
}
User.ts (model)
import mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ObjectId = Schema.ObjectId;
export interface IUser {
_id: String,
first_name: String,
last_name: String,
email: String,
social_networks: Object,
created_on: Date,
activeFlag: Boolean
};
export const UserSchema = new mongoose.Schema(
{
_id: { type: ObjectId, default: mongoose.Types.ObjectId, required: true },
first_name: { type: String, required: true },
last_name: { type: String, required: true },
email: { type: String, required: true },
social_networks: {type: Object},
created_on: {type: Date},
activeFlag: { type: Boolean, required: true, default: true }
},
{
collection: 'users',
autoIndexed: true,
toJSON: {
transform: function(userModel: any, userDto: any) {
delete userDto.__v;
delete userDto.activeFlag
}
}
}
);
export const User = mongoose.model<IUser>('User', UserSchema);
Now am getting below output:
with a error in my console,
from routing-controllers.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from routing-controllers.
Related Issues (20)
- fix: global middlewares (re)registered each time useExpressServer is called HOT 3
- question: @Param not type casted HOT 21
- question: building the code looks for Koa, while I'm only using Express HOT 8
- fix: class-validator does not work on last version of RC HOT 9
- fix: <Injected Response object is undefined> HOT 1
- question: @Get path with literal and variable HOT 3
- feature: <how make sub folder controllers> how make sub folder controllers HOT 2
- fix: jsdoc for Put http method, it mentions POST http method
- fix: TypeDI do not inject service HOT 1
- Annotate return type of `createExpressServer` with more narrow type HOT 1
- `cors: true` causes "Cannot set headers after they are sent to the client" error HOT 3
- fix: Global middlewares are not used if route prefix doesn't start with a slash ("/")
- fix: TypeError this.targetType.toLowerCase is not a function HOT 3
- fix: import statements should not affect the route matching order
- Can we create multiple paths for the same controller function? HOT 7
- fix: CJS being imported instead of ESM when trying to load controllers from directory import HOT 4
- feature: Allow to use `app.use(createExpressRouter())` instead of `useExpressServer(app)` HOT 6
- question: Routes with path parameters continue middleware chain (but those without, don't)? HOT 5
- feature: Dynamic route HOT 4
- feature: Introduce Generics to CurrentUserChecker for Enhanced Type Safety HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from routing-controllers.