[JAVA] Créez un RestAPI à l'aide de wicketstuff-restannotations d'Apache Wicket

Comme le dit le titre. Puisqu'il y avait une scène où je l'ai utilisé à l'université, je la laisserai comme mémo. Créez RestAPI avec Apache Wicket. D'autres RestAPI incluent Jersey, mais dans mon université, Wicket est souvent utilisé, donc cette fois je vais l'implémenter avec le titre.

Pour créer une API Rest Vous devez utiliser wicketstuff-restannotations.

La description suivante est requise dans pom.xml.

        <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>

Ensuite, créez les classes qui composent l'API. Pour le créer, héritez de AbstractRestResource.

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;
	
	/**
	 *exemple
	 */
	public SampleAPI() {
		super(new JsonWebSerialDeserial(new JacksonObjectSerialDeserial()));
	}
	
	@MethodMapping("/test/{id}")
	public SampleBean sample(long id) {
		return new SampleBean(id, "test");
	}
}

Ensuite, voici le contenu du SampleBean utilisé dans SampleAPI. JsonProperty vous permet de renommer la clé.

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;
	
	/**
	 *Constructeur sans argument
	 */
	public SampleBean() {
		this.sampleId = -1;
		this.sampleName = "";
	}
	
	/**
	 *Constructeur avec arguments
	 * @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 Définir sampleId
	 */
	public void setSampleId(long sampleId) {
		this.sampleId = sampleId;
	}

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

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


Ensuite, montez la ressource sur une sous-classe qui hérite de la classe WebApplication.

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

Après cela, lorsque vous appelez l'API, les données au format json seront renvoyées. Pour cette API, si vous spécifiez ʻapi / test / 2` et l'API, la valeur sera renvoyée.

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

Je vais résumer en détail cette fois. (Parce que je suis occupé avec des questions liées à l'université comme décembre.)

Site de référence

Je suis toujours redevable à des articles tels que Wicket et Java. Merci. Site de référence: https://www.monotalk.xyz/blog/apache-wicket%E3%81%A7restapi%E3%82%92%E4%BD%BF%E3%81%86/

Recommended Posts

Créez un RestAPI à l'aide de wicketstuff-restannotations d'Apache Wicket
J'ai essayé d'utiliser Apache Wicket
Créer Restapi avec Spring Boot (jusqu'à l'exécution de l'application)
Essayez d'utiliser l'API REST de JobScheduler
Exemple d'utilisation de vue.config.js
Résumé de l'utilisation de FragmentArgs
Résumé de l'utilisation de DBFlow
[Apache Tomcat] L'histoire de l'utilisation d'Apache OpenWebBeans pour activer CDI