minijax-avatar

Minijax avatar features

License

License

GroupId

GroupId

org.minijax
ArtifactId

ArtifactId

minijax-avatar
Last Version

Last Version

0.4.13
Release Date

Release Date

Type

Type

jar
Description

Description

minijax-avatar
Minijax avatar features
Project Organization

Project Organization

Ajibot

Download minijax-avatar

How to add to project

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

Dependencies

compile (1)

Group / Artifact Type Version
org.minijax : minijax-s3 jar 0.4.13

provided (3)

Group / Artifact Type Version
org.minijax : minijax-core jar 0.4.13
org.minijax : minijax-db jar 0.4.13
org.minijax : minijax-security jar 0.4.13

test (3)

Group / Artifact Type Version
junit : junit jar 4.12
org.minijax : minijax-client jar 0.4.13
org.mockito : mockito-core jar 3.2.0

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.9</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");

        bind(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.13
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