Coder Social home page Coder Social logo

app-test-2's Introduction

CRUD - Spring Boot Booster

Important
While you can run and interact with this booster on localhost, it requires that you also have a database installed and configured. This booster runs best when deployed on OpenShift with a PostgreSQL database. For more details on using this booster with a single-node OpenShift cluster, CI/CD deployments, as well as the rest of the runtime, see the Spring Boot Runtime Guide.
Important
This booster requires Java 8 JDK or greater and Maven 3.3.x or greater.
Important
As part of the process of creating this booster, developers.redhat.com/launch or the Fabric8 Launcher tool set up a project with a CI/CD deployment of this booster. You can see the status of this deployment in your Single-node OpenShift Cluster or OpenShift Online Web Console.

Running the Booster on a Single-node OpenShift Cluster

If you have a single-node OpenShift cluster, such as Minishift or Red Hat Container Development Kit, installed and running, you can also deploy your booster there. A single-node OpenShift cluster provides you with access to a cloud environment that is similar to a production environment.

To deploy your booster to a running single-node OpenShift cluster:

$ oc login -u developer -p developer

$ oc new-project MY_PROJECT_NAME

# Ensure that you use the following values for the user name, password and database name when creating your database application.
# The pre-configured values are used in the `credentials-secret.yml` and `deployment.yml` files in the `src/main/fabric8` directory of your booster application project.

$ oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data openshift/postgresql-92-centos7 --name=my-database

# Wait for `my-database` application to be running.

$ mvn clean fabric8:deploy -Popenshift

Interacting with the Booster on a Single-node OpenShift Cluster

To interact with your booster while it’s running on a Single-node OpenShift Cluster, you first need to obtain it’s URL:

$ oc get route MY_APP_NAME -o jsonpath={$.spec.host}

MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME

You can use the form at your application’s url or you can use the curl command:

List all entries in the database
$ curl http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/fruits

[ {
  "id" : 1,
  "name" : "Cherry",
}, {
  "id" : 2,
  "name" : "Apple",
}, {
  "id" : 3,
  "name" : "Banana",
} ]
Retrieve an entry with a specific ID
curl http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/fruits/3

{
  "id" : 3,
  "name" : "Banana",
}
Create a new entry:
curl -H "Content-Type: application/json" -X POST -d '{"name":"pear"}'  http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/fruits

{
  "id" : 4,
  "name" : "pear",
}
Update an Entry
curl -H "Content-Type: application/json" -X PUT -d '{"name":"pineapple"}'  http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/fruits/1

{
  "id" : 1,
  "name" : "pineapple",
}
Delete an Entry:
curl -X DELETE http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/fruits/1
Note
If you receive an HTTP Error code 503 as a response after executing these commands, it means that the application is not ready yet.
Note
Run the set of integration tests included with this booster using mvn clean verify -Popenshift,openshift-it.

More Information

You can learn more about this booster and rest of the Spring Boot runtime in the Spring Boot Runtime Guide.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.