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

Korištenje autentifikovanih API-ja (DefaultApi)

Važno: Morate postaviti vaš API ključ na ApiClient prije nego što napravite autentifikovane zahtjeve. Ako to ne uradite, zahtjevi će završiti sa 401 greškom.

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) {
        // Kreiraj i konfiguriraj API klijent
        ApiClient apiClient = new ApiClient();

        // OBAVEZNO: Postavite vaš API ključ (preuzmite ga sa FastComments kontrolne ploče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Kreiraj instancu API-ja sa konfiguriranim klijentom
        DefaultApi api = new DefaultApi(apiClient);

        // Sada možete praviti autentifikovane API pozive
        try {
            // Primjer: Dodavanje SSO korisnika
            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());
            // Uobičajene greške:
            // - 401: API key nedostaje ili je nevažeći
            // - 400: Validacija zahtjeva nije uspjela
        }
    }
}

Korištenje javnih API-ja (PublicApi)

Javni endpointi ne zahtijevaju autentifikaciju:

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();
}

Uobičajeni problemi

  1. 401 "missing-api-key" greška: Provjerite da li pozivate apiClient.setApiKey("YOUR_KEY") prije kreiranja instance DefaultApi.
  2. Pogrešna API klasa: Koristite DefaultApi za autentifikovane zahtjeve na serverskoj strani, a PublicApi za zahtjeve na klijentskoj strani/javne zahtjeve.
  3. Null API key: SDK će tiho preskočiti autentifikaciju ako je API key null, što će dovesti do 401 grešaka.

Белешке Internal Link

Идентификатори емитовања

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


Требате помоћ?

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

Допринoси

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