GithubHelp home page GithubHelp logo

ieti-spring-boot-rest-part-2's Introduction

IETI-Spring-Boot-Rest-Part-2

Spring Boot Rest API

Learning Objectives

  • Explain what needs to be donde to achieve the Level 2 on a RESTFUL API on the Richardson Maturity Model.
  • Implement a Level 2 Tasks RESTFUL API Microservice.
  • User dependencies injections to create a decoupled architecture.

Growth Mindset 🤹🏽

"Individuals who believe their talents can be developed (through hard work, good strategies, and input from others) have a growth mindset. They tend to achieve more than those with a more fixed mindset (those who believe their talents are innate gifts)" What Having a "Growth Mindset" Actually means - Harvard Business Review

Main Topics

  • Microservices.
  • RESTFUL API.
  • Richardson Maturity Model.
  • Dependencies Injection.

Codelab 🧪

🗣️ "I hear and I forget I see and I remember I do and I understand." Confucius

Part 2: Implementing the Tasks Microservice RESTFUL API

  1. Create a new project using the Spring Initializr
  • Use either Java as programming language.
  • Use Gradle as project option(if your computer is slow then use Maven)
  • Add Spring Web dependency before generating the project.
  1. Create a new repository on Github and commit the files generated in 1.
  2. Create a new package called dto and inside define your TaskDto object with at least the following fields:
    • name.
    • description.
    • status [TODO, DOING, REVIEW and DONE].
    • assignedTo.
    • dueDate.
    • created.
  3. Create a new package called data and inside define your Task data object with at least the following fields:
    • id.
    • name.
    • description.
    • status [TODO, DOING, REVIEW and DONE].
    • assignedTo.
    • dueDate.
    • created.
  4. Create a new package called service an inside create the following interface:

Java:

    public interface TaskService
    {
        Task create( Task task );

        Task findById( String id );
        
        List<Task> all();

        void deleteById( String id );

        Task update( Task task, String id );
    }
  1. Create an implementation of the TaskService using a HashMap data structure inside.
  2. Make your service implementation TaskServiceHashMap injectable using the @Service annotation.
  3. Implement you TaskController (try to avoid copy paste, use the User Microservice as reference but try doing it consciously).
  4. Test ALL the endpoints of your API using PostMan or any other tool of your preference.

Built with 🛠️

  • Java 13
  • JUnit
  • Maven - Dependency manager

Author ✒️

  • Paula Andrea Guevara Sánchez

License 📄

This project is licensed under the GNU General Public License - LICENSE

ieti-spring-boot-rest-part-2's People

Contributors

paulasanchez810 avatar

Watchers

James Cloos avatar  avatar

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.