Hai!
Saya mencoba lingkungan var APICURIO_SHARE_FOR_EVERYONE .
Saya dapat melihat dan mengedit API dari pengguna lain, tetapi tidak berfungsi untuk melihat " Kolaborator " atau " Mengejek ".
Mencari penyebabnya, saya menemukan bahwa layanan "getMocks" tidak memeriksa properti "isShareForEveryone()" dan mengembalikan 404 HTTP Error Satus, karena pengguna tidak memiliki izin. Sama untuk bagian "kolaborator".
this.endpoint("/designs/:designId/mocks",
```
getMocks publik(apiId: string, from?: number, to?: number): Janji
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",
getCollaborators publik (apiId: string): Janji
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
@Mengesampingkan
Koleksi publik
melempar ServerError, NotFoundException {
int dari = 0;
ke = 20;
if (mulai != nol) {
dari = start.intValue();
}
jika (akhir != null) {
ke = 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);
}
}
@Mengesampingkan
Koleksi publik
logger.debug("Mengambil semua kolaborator untuk API: {}", 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);
}
}
```
Terima kasih atas laporan bugnya.
@AguRyan Pada rilis terbaru, saya menemukan bahwa di dalam fungsi hasWritePermission()
, isShareForEveryone()
dicentang :
Apakah Anda punya ide lain tentang apa penyebab masalah ini?
Hai! Terima kasih atas komentar Anda, mencari bug, saya baru tahu bahwa kami menggunakan versi lama. 0.2.27.
Maaf tentang itu.
Saya akan memperbarui Aplikasi.
Anda dapat mengabaikan kesalahan.
Terima kasih.
Komentar yang paling membantu
Hai! Terima kasih atas komentar Anda, mencari bug, saya baru tahu bahwa kami menggunakan versi lama. 0.2.27.
Maaf tentang itu.
Saya akan memperbarui Aplikasi.
Anda dapat mengabaikan kesalahan.
Terima kasih.