„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So generieren Sie Java WebSocket API-Dokumentation mit Smart-Doc

So generieren Sie Java WebSocket API-Dokumentation mit Smart-Doc

Veröffentlicht am 31.08.2024
Durchsuche:592

Einführung

Smart-Doc ist ein leistungsstarkes Tool zur Dokumentationserstellung, das Entwicklern dabei hilft, auf einfache Weise klare und detaillierte API-Dokumentation für Java-Projekte zu erstellen. Mit der wachsenden Beliebtheit der WebSocket-Technologie hat Smart-Doc ab Version 3.0.7 Unterstützung für WebSocket-Schnittstellen hinzugefügt. In diesem Artikel wird detailliert beschrieben, wie Sie Smart-Doc zum Generieren einer Java-WebSocket-Schnittstellendokumentation verwenden, und es wird ein vollständiges Beispiel eines WebSocket-Servers bereitgestellt.

Überblick über die WebSocket-Technologie

Lassen Sie uns zunächst kurz die WebSocket-Technologie verstehen. Das WebSocket-Protokoll bietet einen Vollduplex-Kommunikationskanal, der den Datenaustausch zwischen Client und Server einfacher und effizienter macht. In Java können Entwickler mithilfe von JSR 356: Java API for WebSocket ganz einfach WebSocket-Server und -Clients implementieren.

Übersicht über WebSocket-Anmerkungen

In Java WebSocket wird die Annotation @ServerEndpoint verwendet, um eine POJO-Klasse als WebSocket-Serverendpunkt zu definieren. Mit dieser Annotation gekennzeichnete Methoden können automatisch aufgerufen werden, wenn WebSocket-Ereignisse (z. B. Verbindungsaufbau, Nachrichtenempfang usw.) auftreten. Neben @ServerEndpoint gibt es mehrere andere WebSocket-bezogene Anmerkungen:

  1. @OnOpen: Diese Methode wird ausgelöst, wenn ein Client eine WebSocket-Verbindung mit dem Server aufbaut. Es wird normalerweise verwendet, um Ressourcen zu initialisieren oder eine Willkommensnachricht zu senden.

  2. @OnMessage: Diese Methode wird ausgelöst, wenn der Server eine Nachricht vom Client empfängt. Es ist für die Verarbeitung der empfangenen Nachricht und die Durchführung der entsprechenden Vorgänge verantwortlich.

  3. @OnClose: Diese Methode wird ausgelöst, wenn der Client die WebSocket-Verbindung schließt. Es wird normalerweise verwendet, um Ressourcen freizugeben oder Aufräumarbeiten durchzuführen.

  4. @OnError: Diese Methode wird ausgelöst, wenn während der WebSocket-Kommunikation ein Fehler auftritt. Es behandelt Fehlersituationen wie die Protokollierung oder die Benachrichtigung des Benutzers.

Einführung in Smart-Doc

Smart-Doc ist ein leichtes Tool zur Erstellung von API-Dokumentationen auf Basis von Java. Es unterstützt das Extrahieren von Schnittstelleninformationen aus Quellcode und Kommentaren und generiert automatisch Dokumentation im Markdown-Format. Für WebSocket-Projekte bedeutet dies, dass Sie Dokumentation direkt aus Ihren ServerEndpoint-Klassen extrahieren können, ohne manuell langwierige Dokumentationsbeschreibungen schreiben zu müssen.

https://github.com/TongchengOpenSource/smart-doc

Konfigurieren von Smart-Doc zum Generieren einer WebSocket-Schnittstellendokumentation

Vorbereitung der Umgebung

Stellen Sie sicher, dass in Ihrer Entwicklungsumgebung die folgenden Komponenten installiert sind:

  • Java 17 oder höher
  • Maven oder Gradle als Build-Tool
  • Neueste Version des Smart-Doc-Plugins
  • WebSocket-Server-Implementierungsbibliothek, z. B. javax.websocket (normalerweise in Java SE enthalten)

Erstellen eines WebSocket-Servers

Plugin-Abhängigkeit hinzufügen

Fügen Sie die Smart-Doc-Abhängigkeit in der Datei pom.xml hinzu:


    
        com.ly.smart-doc
        smart-doc-maven-plugin
        [Latest version]
        
            
            ./src/main/resources/smart-doc.json
        
    

Erstellen eines WebSocket-Server-Endpunkts

Definieren Sie den Nachrichtentyp (Nachricht), ein einfaches POJO, das die vom Client empfangene Nachricht darstellt.

public class Message {
    private String content;

    // getter and setter methods
}

Definieren Sie den Antworttyp (SampleResponse), ein einfaches POJO, das die Antwortnachricht darstellt, die an den Client zurückgesendet werden soll.

public class SampleResponse {
    private String responseContent;
    // getter and setter methods
}

Implementieren Sie den Nachrichtendecoder (MessageDecoder), der für die Konvertierung der vom Client gesendeten Nachricht vom JSON-Format in ein Nachrichtenobjekt verantwortlich ist.

public class MessageDecoder implements Decoder.Text {

    private static final ObjectMapper objectMapper = new ObjectMapper();
    @Override
    public Message decode(String s) throws DecodeException {
        try {
            return objectMapper.readValue(s, Message.class);
        } catch (Exception e) {
            throw new DecodeException(s, "Unable to decode text to Message", e);
        }
    }
    @Override
    public boolean willDecode(String s) {
        return (s != null);
    }

    @Override
    public void init(EndpointConfig endpointConfig) {
    }
    @Override
    public void destroy() {
    }
}

Implementieren Sie den Antwort-Encoder (MessageResponseEncoder).

public class MessageResponseEncoder implements Encoder.Text {

    private static final ObjectMapper objectMapper = new ObjectMapper();

    @Override
    public String encode(SampleResponse response) {
        try {
            return objectMapper.writeValueAsString(response);
        } catch (Exception e) {
            throw new RuntimeException("Unable to encode SampleResponse", e);
        }
    }

    @Override
    public void init(EndpointConfig endpointConfig) {
    }

    @Override
    public void destroy() {
    }
}

Verwenden Sie die ServerEndpoint-Annotation, um einen einfachen WebSocket-Server zu erstellen.

/**
 * WebSocket server endpoint example.
 */
@Component
@ServerEndpoint(value = "/ws/chat/{userId}",
        decoders = {MessageDecoder.class},
        encoders = {MessageResponseEncoder.class})
public class ChatEndpoint {

    /**
     * Called when a new connection is established.
     *
     * @param session the client session
     * @param userId  the user ID
     */
    @OnOpen
    public void onOpen(Session session, @PathParam("userId") String userId) {
        System.out.println("Connected: "   session.getId()   ", User ID: "   userId);
    }

    /**
     * Called when a message is received from the client.
     *
     * @param message the message sent by the client
     * @param session the client session
     * @return the response message
     */
    @OnMessage
    public SampleResponse receiveMessage(Message message, Session session) {
        System.out.println("Received message: "   message);
        return new SampleResponse(message.getContent());
    }

    /**
     * Called when the connection is closed.
     *
     * @param session the client session
     */
    @OnClose
    public void onClose(Session session) {
        System.out.println("Disconnected: "   session.getId());
    }

    /**
     * Called when an error occurs.
     *
     * @param session   the client session
     * @param throwable the error
     */
    @OnError
    public void onError(Session session, Throwable throwable) {
        throwable.printStackTrace();
    }
}

Smart-Doc konfigurieren

Erstellen Sie eine smart-doc.json-Konfigurationsdatei, damit Smart-Doc weiß, wie Dokumentation erstellt wird.

{
  "serverUrl": "http://smart-doc-demo:8080", // Set the server address, not required
  "outPath": "src/main/resources/static/doc" // Specify the output path of the document
}

Dokumentation erstellen

Führen Sie den folgenden Befehl in der Befehlszeile aus, um Dokumentation zu generieren:

mvn smart-doc:websocket-html

Anzeigen der Dokumentation

Nachdem die Dokumentation generiert wurde, finden Sie sie im Verzeichnis src/main/resources/static/doc/websocket. Öffnen Sie die Datei websocket-index.html in einem Browser, um die WebSocket-API-Dokumentation anzuzeigen.

How to Generate Java WebSocket API Documentation Using Smart-Doc

Abschluss

Die automatische Generierung der Java WebSocket-Schnittstellendokumentation mit Smart-Doc spart nicht nur viel Zeit beim manuellen Schreiben von Dokumentationen, sondern gewährleistet auch die Genauigkeit und zeitnahe Aktualisierungen der Dokumentation. Es ist erwiesen, dass eine gute Dokumentationsmanagementstrategie die Entwicklungseffizienz und Codequalität erheblich verbessern kann. Mit Tools wie Smart-Doc können Sie sich mehr auf die Entwicklung von WebSocket-Anwendungen konzentrieren, ohne sich um Probleme bei der Dokumentationspflege kümmern zu müssen.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/yu_sun_0a160dea497156d354/how-to-generate-java-websocket-api-documentation-using-smart-doc-40l4?1 Bei Verstößen wenden Sie sich bitte an Study_golang@163 .com, um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3