Payara, Kotlin y Mysql

13/09/2018
Artículo original

Bueno comenzando la parte de los servicios vamos a tener básicamente dos endpoints uno para consultar preguntas y otro para insertar preguntas.

GET /services/questions/getAll
POST /services/questions/add

Por tanto creamos el archivo kotlin QuestionService en la carpeta question (primero crear la carpeta question), si no encontramos preguntas regresaremos 404, esto es a modo de ejemplo si quieres puedes regresar 200 y un array vacio es tu gusto y desenio, usaremos Gson como librería para parsear JSON a Kotlin y viceversa:

package question

import com.google.gson.Gson
import javax.ws.rs.*
import javax.ws.rs.core.MediaType
import javax.ws.rs.core.Response

@Path("/question")
class QuestionService {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/getAll")
    fun getAllQuestionsApi(): Response {
        val questions = getAllQuestions()
        return if(questions.isEmpty()) {
            Response.status(404).build()
        } else {
            Response.status(200).entity(Gson().toJson(questions)).build()
        }
    }

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)

leer más