minijax-swagger

Minijax extensions

License

License

Categories

Categories

Swagger Program Interface REST Frameworks
GroupId

GroupId

org.minijax
ArtifactId

ArtifactId

minijax-swagger
Last Version

Last Version

0.4.1
Release Date

Release Date

Type

Type

jar
Description

Description

minijax-swagger
Minijax extensions
Project Organization

Project Organization

Ajibot

Download minijax-swagger

How to add to project

<!-- https://jarcasting.com/artifacts/org.minijax/minijax-swagger/ -->
<dependency>
    <groupId>org.minijax</groupId>
    <artifactId>minijax-swagger</artifactId>
    <version>0.4.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.minijax/minijax-swagger/
implementation 'org.minijax:minijax-swagger:0.4.1'
// https://jarcasting.com/artifacts/org.minijax/minijax-swagger/
implementation ("org.minijax:minijax-swagger:0.4.1")
'org.minijax:minijax-swagger:jar:0.4.1'
<dependency org="org.minijax" name="minijax-swagger" rev="0.4.1">
  <artifact name="minijax-swagger" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.minijax', module='minijax-swagger', version='0.4.1')
)
libraryDependencies += "org.minijax" % "minijax-swagger" % "0.4.1"
[org.minijax/minijax-swagger "0.4.1"]

Dependencies

compile (6)

Group / Artifact Type Version
com.fasterxml.jackson.core : jackson-annotations jar 2.9.9
com.fasterxml.jackson.core : jackson-databind jar 2.9.9
com.fasterxml.jackson.dataformat : jackson-dataformat-yaml jar 2.9.9
io.swagger : swagger-jaxrs jar 1.5.23
jakarta.servlet : jakarta.servlet-api jar 4.0.2
jakarta.xml.bind : jakarta.xml.bind-api jar 2.3.2

provided (1)

Group / Artifact Type Version
org.minijax : minijax-core jar 0.4.1

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Build status Quality Gate

Minijax

Lightweight Jakarta EE

  • Fast and simple JAX-RS, JSON, WebSockets, JPA, dependency injection
  • Code to standard Java and Java EE API's as much as possible
  • Minimal dependencies, setup, configuration, and hassle

Getting Started

<dependency>
    <groupId>org.minijax</groupId>
    <artifactId>minijax-undertow</artifactId>
    <version>0.5.6</version>
</dependency>
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;

import org.minijax.Minijax;

@Path("/")
public class Hello {

    @GET
    public static String hello() {
        return "Hello world!";
    }

    public static void main(String[] args) {
        new Minijax()
                .register(Hello.class)
                .start();
    }
}

Dependency Injection

Minijax uses the JSR-330 standard for dependency injection. It recognizes standard annotations such as @Provider and @Inject.

package com.example;

import jakarta.inject.Inject;
import jakarta.ws.rs.DefaultValue;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.ext.Provider;

import org.minijax.Minijax;

public class HelloInjection {

    public interface MyService {

        String shout(String str);
    }

    @Provider
    public class MyServiceImpl implements MyService {

        @Override
        public String shout(final String str) {
            return str.toUpperCase();
        }
    }

    @Path("/")
    public class MyResource {

        @Inject
        private MyService service;

        @GET
        public String get(@QueryParam("name") @DefaultValue("friend") final String name) {
            return "Hello " + service.shout(name);
        }
    }

    public static void main(final String[] args) {
        new Minijax()
                .packages("com.example")
                .start();
    }
}

Testing

Minijax provides a rich set of testing features that integrate with standard testing libraries such as JUnit and Mockito.

package com.example;

import static org.junit.jupiter.api.Assertions.*;

import static org.mockito.Mockito.*;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.minijax.rs.test.MinijaxTest;

import com.example.HelloInjection.MyResource;
import com.example.HelloInjection.MyService;

class HelloInjectionTest extends MinijaxTest {

    @BeforeEach
    public void setUp() {
        final MyService mockService = mock(MyService.class);
        when(mockService.shout(eq("friend"))).thenReturn("FRIEND");
        when(mockService.shout(eq("cody"))).thenReturn("CODY");

        register(mockService, MyService.class);
        register(MyResource.class);
    }

    @Test
    void testDefault() {
        assertEquals("Hello FRIEND", target("/").request().get(String.class));
    }

    @Test
    void testQueryString() {
        assertEquals("Hello CODY", target("/?name=cody").request().get(String.class));
    }
}

Learn more

Versions

Version
0.4.1
0.3.20
0.3.18
0.3.14
0.3.12
0.3.11
0.3.10
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.6
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.47
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.22