Как я могу написать собственные микроуслуги в подприложении с Jhipster / Mongodb - PullRequest
0 голосов
/ 09 июля 2019

Из-за некоторых ограничений для jhipster и типов данных, которые они позволяют передавать, моей команде и мне нужно написать собственный микросервис, используя MongoTemplate, а не MongoRepository.

При попытке запустить один из наших микроуслуг в субприложении (с некомментированным CORS в dev-приложении и с добавлением аннотации @CrossOrigin ("*") к сервису) у нас все еще возникают проблемы с получением этого:

"Заголовок 'Access-Control-Allow-Origin' присутствует на запрашиваемом ресурсе. Следовательно, Origin 'http://localhost:8080' не имеет доступа." на переднем конце.

Действительно, глядя на заголовки, я не вижу ключ аутентификации.

Чего мне не хватает, кроме комментария CORS от нашего subApp MicroService и включения упомянутой выше аннотации, которая позволила бы успешно ответить на интерфейс?

Уже откомментированный CORS из приложения subApp-dev.yml

Уже добавлена ​​аннотация @CrossOrigin ("*") над @requestmapping / api

...
import com.simple.app.domain.Vehicle;
import com.simple.app.service.VehicleService;

@CrossOrigin("*")
@RequestMapping("/api")
@RestController
public class VehicleResource {

    @Autowired
    private VehicleService vehicleService;
...
jhipster:
    http:
        version: V_1_1 # To use HTTP/2 you will need to activate TLS (see application-tls.yml)
    cache: # Cache configuration
        hazelcast: # Hazelcast distributed cache
            time-to-live-seconds: 3600
            backup-count: 1
            management-center: # Full reference is available at: http://docs.hazelcast.org/docs/management-center/3.9/manual/html/Deploying_and_Starting.html
                enabled: false
                update-interval: 3
                url: http://localhost:8180/mancenter
    # CORS is disabled by default on microservices, as you should access them through a gateway.
    # If you want to enable it, please uncomment the configuration below.
    cors:
        allowed-origins: "*"
        allowed-methods: "*"
        allowed-headers: "*"
        exposed-headers: "Authorization,Link,X-Total-Count"
        allow-credentials: true
        max-age: 1800

Front End Константы:

export const VERSION = process.env.VERSION;
export const DEBUG_INFO_ENABLED: boolean = !!process.env.DEBUG_INFO_ENABLED;
export const SERVER_API_URL = process.env.SERVER_API_URL;
export const BUILD_TIMESTAMP = process.env.BUILD_TIMESTAMP;

Услуга: где this.resourceURL = SERVER_API_URL + api / serviceName

query(req?: any): Observable<EntityArrayResponseType> {
        const options = createRequestOption(req);
        return this.http.get<Configures[]>(this.resourceURL, { params: options, observe: 'response' });
    }

действительно надеется получить ответ от службы.

...