Итак, у меня есть API, который будет развернут в контейнере docker. В этом API есть контроллер authentications
, простой и не особенный.
Когда я запускаю API в режиме разработки на моем локальном компьютере, контроллер аутентификации будет найден, и все будет работать нормально. То же самое для сборки и запуска на моем локальном компьютере. Но когда я докерирую проект и запускаю его на виртуальной машине, я не могу получить доступ к контроллеру аутентификации. Все остальные контроллеры работают в поиске, но контроллер аутентификации не существует.
При просмотре журналов docker никакой контроллер аутентификации не отображается. И локальные, и созданные образы docker должны содержать одни и те же файлы проекта.
Контроллер аутентификации:
import {
Controller,
Post,
Delete,
UseGuards,
Request,
Body,
} from '@nestjs/common';
import { AuthenticationsService } from './authentications.service';
import { JwtAuthGuard } from '../shared/guards/jwtAuth.guard';
import { SignInDTO } from './dtos/addGraphNodeToGraphByGraphId.dto';
@Controller('authentications')
export class AuthenticationsController {
constructor(
private readonly authenticationsService: AuthenticationsService,
) {}
@Post()
public signIn(@Body() { username, password }: SignInDTO): Promise<string> {
return this.authenticationsService.signIn(username, password);
}
@Delete()
@UseGuards(JwtAuthGuard)
public signOut(@Request() request): Promise<void> {
return this.authenticationsService.signOut(
request.encodedToken,
request.user.tokenExpirationSinceEpochInMilliseconds,
);
}
}
Ошибка:
{
"statusCode": 404,
"message": "Not Found",
"error": "Cannot POST /authentications"
}
Что могло привести к тому, что аутентификация контроллер не будет отображаться?