[JAVA] Erstellen Sie eine RestAPI mit Wicketstuff-Restannotations von Apache Wicket

Wie der Titel schon sagt. Da es eine Szene gab, in der ich es an der Universität benutzt habe, werde ich es als Memo hinterlassen. Erstellen Sie RestAPI mit Apache Wicket. Andere RestAPIs sind Jersey, aber an meiner Universität wird häufig Wicket verwendet, daher werde ich es dieses Mal mit dem Titel implementieren.

So erstellen Sie eine Rest-API Sie müssen Wicketstuff-Restannotationen verwenden.

Die folgende Beschreibung ist in pom.xml erforderlich.

        <dependency>
            <groupId>org.wicketstuff</groupId>
            <artifactId>wicketstuff-restannotations</artifactId>
            <version>6.20.0</version>
        </dependency>
                <dependency>
            <groupId>org.wicketstuff</groupId>
            <artifactId>wicketstuff-restannotations-json</artifactId>
            <version>6.20.0</version>
        </dependency>

Erstellen Sie als Nächstes die Klassen, aus denen die API besteht. Erben Sie AbstractRestResource, um es zu erstellen.

import org.wicketstuff.rest.annotations.MethodMapping;
import org.wicketstuff.rest.contenthandling.json.objserialdeserial.JacksonObjectSerialDeserial;
import org.wicketstuff.rest.contenthandling.json.webserialdeserial.JsonWebSerialDeserial;
import org.wicketstuff.rest.resource.AbstractRestResource;

public class SampleAPI extends AbstractRestResource<JsonWebSerialDeserial> {
	private static final long serialVersionUID = -3988855556227959163L;
	
	/**
	 *Beispiel
	 */
	public SampleAPI() {
		super(new JsonWebSerialDeserial(new JacksonObjectSerialDeserial()));
	}
	
	@MethodMapping("/test/{id}")
	public SampleBean sample(long id) {
		return new SampleBean(id, "test");
	}
}

Als nächstes sehen Sie hier den Inhalt der SampleBean, die in der SampleAPI verwendet wird. Mit JsonProperty können Sie den Schlüssel umbenennen.

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * sample 
 *
 */

public class SampleBean implements Serializable {
	private static final long serialVersionUID = -6787374014454880191L;
	
	@JsonProperty("id")
	private long sampleId;
	@JsonProperty("name")
	private String sampleName;
	
	/**
	 *Argumentloser Konstruktor
	 */
	public SampleBean() {
		this.sampleId = -1;
		this.sampleName = "";
	}
	
	/**
	 *Konstruktor mit Argumenten
	 * @param sampleId
	 * @param sampleName
	 */
	public SampleBean(long sampleId, String sampleName) {
		this.sampleId = sampleId;
		this.sampleName = sampleName;
	}

	/**
	 * @return sampleId
	 */
	public long getSampleId() {
		return sampleId;
	}

	/**
	 * @param sampleId Setzt sampleId
	 */
	public void setSampleId(long sampleId) {
		this.sampleId = sampleId;
	}

	/**
	 * @return sampleName
	 */
	public String getSampleName() {
		return sampleName;
	}

	/**
	 * @param sampleName set sampleName
	 */
	public void setSampleName(String sampleName) {
		this.sampleName = sampleName;
	}
}


Mounten Sie als Nächstes die Ressource für eine Unterklasse, die von der WebApplication-Klasse erbt.

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.resource.IResource;
import org.apache.wicket.request.resource.ResourceReference;

import com.example.api.SampleAPI;
import com.example.page.IndexPage;

public class MyApplication extends WebApplication {
   
    @Override
    public Class<? extends WebPage> getHomePage() {
        return IndexPage.class;
    }

    @Override
    public void init() {
        super.init();

        mountPage("/index", Index.class);
        mountResource("/api", new ResourceReference("restReference") {
            private static final long serialVersionUID = -3002079769630066308L;

            private SampleAPI sampleAPI = new SampleAPI();

            @Override
            public IResource getResource() {
                return sampleAPI;
            }
        });
    }
}

Wenn Sie danach die API aufrufen, werden Daten im JSON-Format zurückgegeben. Wenn Sie für diese API "api / test / 2" und die API angeben, wird der Wert zurückgegeben.

{"id":2,"name":"test"}

Ich werde diesmal ausführlich zusammenfassen. (Weil ich mit universitätsbezogenen Angelegenheiten wie dem Dezember beschäftigt bin.)

Referenzseite

Ich bin immer Artikeln wie Wicket und Java verpflichtet. Vielen Dank. Referenzseite: https://www.monotalk.xyz/blog/apache-wicket%E3%81%A7restapi%E3%82%92%E4%BD%BF%E3%81%86/

Recommended Posts

Erstellen Sie eine RestAPI mit Wicketstuff-Restannotations von Apache Wicket
Ich habe versucht, Apache Wicket zu verwenden
Erstellen Sie Restapi mit Spring Boot (bis zum Ausführen der App)
Versuchen Sie es mit der REST-API von JobScheduler
Beispiel für die Verwendung von vue.config.js
Zusammenfassung der Verwendung von FragmentArgs
Zusammenfassung der Verwendung von DBFlow
[Apache Tomcat] Die Geschichte der Verwendung von Apache OpenWebBeans zum Aktivieren von CDI