В wso2 api manager, что заполняет {endpoint.URLs.http} в файле Environment.jsx?

#wso2 #wso2-am #wso2carbon

#wso2-api-manager #wso2

Вопрос:

 {endpoint.URLs.http !== null amp;amp; (
                                            <Grid item xs={12}>
                                                <TextField
                                                    defaultValue={endpoint.URLs.http}
                                                    id='bootstrap-input'
                                                    InputProps={{
                                                        disableUnderline: true,
                                                        readOnly: true,
                                                        classes: {
                                                            root: classes.bootstrapRoot,
                                                            input: classes.bootstrapInput,
                                                        },
                                                    }}
  

В этих текстовых полях отображаются URL-адреса http и https-шлюзов. Как endpoint.URLs.http и endpoint.URLs.https получить его значения (URL-адреса шлюза).

Ответ №1:

Для OpenAPI v3 он находится под серверами, а в серверной части следующие методы добавляют эти значения в определение OpenAPI.

https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/definitions/OAS3Parser.java#L1201

Ответ №2:

Они Gateway urls генерируются в этом методе — [1] на основе типа API.

Редактировать:

Чтобы быть точным, контекст и версия добавляются в эту строку в поведении по умолчанию — [2] .

[1] https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.store.v1/src/main/java/org/wso2/carbon/apimgt/rest/api/store/v1/mappings/APIMappingUtil.java#L753

[2] https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.store.v1/src/main/java/org/wso2/carbon/apimgt/rest/api/store/v1/mappings/APIMappingUtil.java#L797

Комментарии:

1. Как насчет функции getgatewayEndpoing в APIUtil.java файл ? github.com/wso2/carbon-apimgt/blob/master/components/apimgt /…

2. и если я хочу внести изменения в URL-адреса шлюзов, сгенерированные для определенного типа API, где я должен внести изменения. Я немного в замешательстве, любая помощь будет высоко оценена. Спасибо

3. Я полагаю, вы имеете в виду метод — getGatewayendpoint(String transports) . Этот метод используется для получения URL-адресов шлюза, определенных в api-manager.xml

4. Вы проверили этот метод . Здесь мы имеем аналогичную логику построения GW url для API веб-сокетов и HTTP

5. При создании API вы можете проанализировать swagger, получить соответствующее имя хоста и сохранить его в качестве атрибута для API. Вы можете проверить advertiseOnly свойство перед добавлением контекста API к URL (в методе, который я указал выше), и если это true так, вы можете установить host_url конечную точку as .