FastComments.com

FastComments Java SDK

Ово је званични Java SDK за FastComments.

Званични Java SDK за FastComments API

Репозиторијум

Погледајте на GitHub


Инсталација Internal Link

Maven

Додајте Repsy репозиторијум у POM вашег пројекта:

<repositories>
    <repository>
        <id>repsy</id>
        <name>FastComments Maven Repository on Repsy</name>
        <url>https://repo.repsy.io/mvn/winrid/fastcomments</url>
    </repository>
</repositories>

Затим додајте зависности које су вам потребне:

<dependencies>
    <!-- API Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>0.0.2</version>
    </dependency>
</dependencies>

Gradle

Додајте Repsy репозиторијум у ваш build.gradle фајл:

repositories {
    mavenCentral()
    maven {
        url "https://repo.repsy.io/mvn/winrid/fastcomments"
    }
}

dependencies {
    // API Client
    implementation "com.fastcomments:client:0.0.2"

    // Core Library (includes SSO)
    implementation "com.fastcomments:core:0.0.2"

    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:0.0.2"
}

Садржај библиотеке

Ова библиотека садржи три модула. Генерисани API клиент, основна Java библиотека која садржи ручно написане помоћне алатке за олакшавање рада са API-јем, и pubsub модул који је библиотека за претплату на фидове промена.

Јавни и заштићени API-ји

За API клијента постоје две класе, DefaultApi и PublicApi. Класа DefaultApi садржи методе које захтевају ваш API кључ, а PublicApi садржи API позиве које је могуће извршити директно из претраживача/мобилног уређаја/итд. без аутентификације.

Брзи почетак Internal Link

Коришћење аутентификованих API-ја (DefaultApi)

Важно: Морате да подесите ваш API кључ на ApiClient пре него што пошаљете аутентификоване захтеве. Ако то не урадите, захтеви ће пропасти са 401 грешком.

import com.fastcomments.invoker.ApiClient;
import com.fastcomments.invoker.ApiException;
import com.fastcomments.api.DefaultApi;
import com.fastcomments.model.*;

public class Example {
    public static void main(String[] args) {
        // Креирајте и конфигуришите API клијента
        ApiClient apiClient = new ApiClient();

        // ОБАВЕЗНО: Поставите ваш API кључ (преузмите га са FastComments контролне табле)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Креирајте API инстанцу са конфигурисаним клијентом
        DefaultApi api = new DefaultApi(apiClient);

        // Сада можете да правите аутентификоване API позиве
        try {
            // Пример: Додавање SSO корисника
            CreateAPISSOUserData userData = new CreateAPISSOUserData();
            userData.setId("user-123");
            userData.setEmail("user@example.com");
            userData.setDisplayName("John Doe");

            AddSSOUserAPIResponse response = api.addSSOUser("YOUR_TENANT_ID", userData)
                .execute();
            System.out.println("User created: " + response);

        } catch (ApiException e) {
            System.err.println("Error: " + e.getResponseBody());
            // Уобичајене грешке:
            // - 401: API кључ недостаје или није важећи
            // - 400: Валидација захтева није успела
        }
    }
}

Коришћење јавних API-ја (PublicApi)

Јавни ендпоинти не захтевају аутентификацију:

import com.fastcomments.api.PublicApi;
import com.fastcomments.invoker.ApiException;

PublicApi publicApi = new PublicApi();

try {
    var response = publicApi.getCommentsPublic("YOUR_TENANT_ID", "page-url-id")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Уобичајени проблеми

  1. 401 "missing-api-key" грешка: Уверите се да позивате apiClient.setApiKey("YOUR_KEY") пре него што креирате DefaultApi инстанцу.
  2. Погрешна API класа: Користите DefaultApi за серверске аутентификоване захтеве, PublicApi за клијентске/јавне захтеве.
  3. Null API key: SDK ће тихо прескочити аутентификацију ако је API кључ null, што ће довести до 401 грешака.

Напомене Internal Link

Broadcast идентификатори

Видећете да треба да проследите broadcastId у неким API позивима. Када примите догађаје, добићете овај ID назад, па ћете знати да игноришете догађај ако планирате да оптимистички примените измене на клијенту (што ћете вероватно желети да урадите јер нуди најбоље корисничко искуство). Овде проследите UUID. ID би требало да буде довољно јединствен да се не појави два пута у сесији прегледача.


Потребна помоћ?

Ако наиђете на било какве проблеме или имате питања у вези са Java SDK-ом, молимо вас:

Допринеси

Допринеси су добродошли! Молимо посетите GitHub репозиторијум за смернице о доприносима.