Hi!
Ich habe die Umgebungsvariable APICURIO_SHARE_FOR_EVERYONE ausprobiert .
Ich kann APIs von anderen Benutzern sehen und bearbeiten, aber es funktioniert nicht, " Mitarbeiter " oder " Mocks " zu sehen.
Bei der Suche nach der Ursache habe ich festgestellt, dass der Dienst "getMocks" die Eigenschaft "isShareForEveryone()" nicht überprüft und einen 404 HTTP Error Satus zurückgibt, da der Benutzer keine Berechtigungen hat. Gleiches gilt für den Abschnitt "Mitarbeiter".
this.endpoint("/designs/:designId/mocks",
```
public getMocks(apiId: string, from?: number, to?: number): Versprechen
let getMocksUrl: string = this.endpoint("/designs/:designId/mocks", {
designId: apiId
}, {
start: from,
end: to
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching API mocks: %s", getMocksUrl);
return this.httpGet<ApiMock[]>(getMocksUrl, options);
}
> this.endpoint("/designs/:designId/collaborators",
public getCollaborators(apiId: string): Promise
let getCollaboratorsUrl: string = this.endpoint("/designs/:designId/collaborators", {
designId: apiId
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching collaborator list: %s", getCollaboratorsUrl);
return this.httpGet<ApiCollaborator[]>(getCollaboratorsUrl, options);
}
**https://github.com/Apicurio/apicurio-studio/blob/master/back-end/hub-api/src/main/java/io/apicurio/hub/api/rest/impl/DesignsResource.java**
> !this.storage.hasWritePermission
@Überschreiben
öffentliche Sammlung
wirft ServerError, NotFoundException {
int von = 0;
int bis = 20;
if (start != null) {
from = start.intValue();
}
if (ende != null) {
to = end.intValue();
}
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listApiDesignMocks(designId, from, to);
} catch (StorageException e) {
throw new ServerError(e);
}
}
@Überschreiben
öffentliche Sammlung
logger.debug("Alle Mitarbeiter für API abrufen: {}", designId);
metrics.apiCall("/designs/{designId}/collaborators", "GET");
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listPermissions(designId);
} catch (StorageException e) {
throw new ServerError(e);
}
}
```
Danke für den Fehlerbericht.
@AguRyan In der neuesten Version finde ich heraus, dass in der Funktion hasWritePermission()
isShareForEveryone()
überprüft wird:
Haben Sie eine andere Idee, was die Ursache für dieses Problem ist?
Hi! Vielen Dank für Ihren Kommentar, auf der Suche nach dem Fehler, ich habe gerade herausgefunden, dass wir eine alte Version verwenden. 0.2.27.
Das tut mir leid.
Ich werde die App aktualisieren.
Sie können den Fehler verwerfen.
Vielen Dank.
Hilfreichster Kommentar
Hi! Vielen Dank für Ihren Kommentar, auf der Suche nach dem Fehler, ich habe gerade herausgefunden, dass wir eine alte Version verwenden. 0.2.27.
Das tut mir leid.
Ich werde die App aktualisieren.
Sie können den Fehler verwerfen.
Vielen Dank.