restore GET
							parent
							
								
									0ef130cb3b
								
							
						
					
					
						commit
						97c69cfaa8
					
				
							
								
								
									
										186
									
								
								.obsidian/workspace.json
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
									
									
								
								
								
							
						
						
									
										186
									
								
								.obsidian/workspace.json
									
									
									
									
										vendored
									
									
								
							@ -1,186 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "main": {
 | 
					 | 
				
			||||||
    "id": "bfa6b0eb76264f17",
 | 
					 | 
				
			||||||
    "type": "split",
 | 
					 | 
				
			||||||
    "children": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "id": "91a95d9b9ba4dc49",
 | 
					 | 
				
			||||||
        "type": "tabs",
 | 
					 | 
				
			||||||
        "children": [
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "a3660fdf5f5aceb3",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "markdown",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "file": "Home.md",
 | 
					 | 
				
			||||||
                "mode": "source",
 | 
					 | 
				
			||||||
                "source": false
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "ca75671fa123bc88",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "markdown",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "file": "Home.md",
 | 
					 | 
				
			||||||
                "mode": "source",
 | 
					 | 
				
			||||||
                "source": false
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "currentTab": 1
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "direction": "vertical"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "left": {
 | 
					 | 
				
			||||||
    "id": "5eaa206d99edb028",
 | 
					 | 
				
			||||||
    "type": "split",
 | 
					 | 
				
			||||||
    "children": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "id": "d007c720b5e598a0",
 | 
					 | 
				
			||||||
        "type": "tabs",
 | 
					 | 
				
			||||||
        "children": [
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "03171174265e0ee5",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "file-explorer",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "sortOrder": "alphabetical"
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "f78dd3c57a1694ca",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "search",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "query": "",
 | 
					 | 
				
			||||||
                "matchingCase": false,
 | 
					 | 
				
			||||||
                "explainSearch": false,
 | 
					 | 
				
			||||||
                "collapseAll": false,
 | 
					 | 
				
			||||||
                "extraContext": false,
 | 
					 | 
				
			||||||
                "sortOrder": "alphabetical"
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "ef97ee1190cc8880",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "bookmarks",
 | 
					 | 
				
			||||||
              "state": {}
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "direction": "horizontal",
 | 
					 | 
				
			||||||
    "width": 249.5
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "right": {
 | 
					 | 
				
			||||||
    "id": "3bd78c465d2a2030",
 | 
					 | 
				
			||||||
    "type": "split",
 | 
					 | 
				
			||||||
    "children": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "id": "e39fc11f28834b41",
 | 
					 | 
				
			||||||
        "type": "tabs",
 | 
					 | 
				
			||||||
        "children": [
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "e0d70c2f91ae0cfb",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "backlink",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "file": "Home.md",
 | 
					 | 
				
			||||||
                "collapseAll": false,
 | 
					 | 
				
			||||||
                "extraContext": false,
 | 
					 | 
				
			||||||
                "sortOrder": "alphabetical",
 | 
					 | 
				
			||||||
                "showSearch": false,
 | 
					 | 
				
			||||||
                "searchQuery": "",
 | 
					 | 
				
			||||||
                "backlinkCollapsed": false,
 | 
					 | 
				
			||||||
                "unlinkedCollapsed": true
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "11cce84d7b97ddc8",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "outgoing-link",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "file": "Home.md",
 | 
					 | 
				
			||||||
                "linksCollapsed": false,
 | 
					 | 
				
			||||||
                "unlinkedCollapsed": true
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "f8f2ce3f2694f545",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "tag",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "sortOrder": "frequency",
 | 
					 | 
				
			||||||
                "useHierarchy": true
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "id": "58d34025bb119389",
 | 
					 | 
				
			||||||
            "type": "leaf",
 | 
					 | 
				
			||||||
            "state": {
 | 
					 | 
				
			||||||
              "type": "outline",
 | 
					 | 
				
			||||||
              "state": {
 | 
					 | 
				
			||||||
                "file": "Home.md"
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "currentTab": 3
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "direction": "horizontal",
 | 
					 | 
				
			||||||
    "width": 300
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "left-ribbon": {
 | 
					 | 
				
			||||||
    "hiddenItems": {
 | 
					 | 
				
			||||||
      "switcher:Open quick switcher": false,
 | 
					 | 
				
			||||||
      "graph:Open graph view": false,
 | 
					 | 
				
			||||||
      "canvas:Create new canvas": false,
 | 
					 | 
				
			||||||
      "daily-notes:Open today's daily note": false,
 | 
					 | 
				
			||||||
      "templates:Insert template": false,
 | 
					 | 
				
			||||||
      "command-palette:Open command palette": false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "active": "ca75671fa123bc88",
 | 
					 | 
				
			||||||
  "lastOpenFiles": [
 | 
					 | 
				
			||||||
    "Pagination.md",
 | 
					 | 
				
			||||||
    "Home.md",
 | 
					 | 
				
			||||||
    "Database.md",
 | 
					 | 
				
			||||||
    "Post.md",
 | 
					 | 
				
			||||||
    "GET.md",
 | 
					 | 
				
			||||||
    "Get.md",
 | 
					 | 
				
			||||||
    "assets/Pasted image 20230721100304.png",
 | 
					 | 
				
			||||||
    "IntegrationTests.md",
 | 
					 | 
				
			||||||
    "UnitTests.md",
 | 
					 | 
				
			||||||
    "assets/Pasted image 20230719152007.png",
 | 
					 | 
				
			||||||
    "Pasted image 20230719102301.png",
 | 
					 | 
				
			||||||
    "assets/Pasted image 20230719102322.png",
 | 
					 | 
				
			||||||
    "assets",
 | 
					 | 
				
			||||||
    "Pasted image 20230718185450.png",
 | 
					 | 
				
			||||||
    "testPage.md",
 | 
					 | 
				
			||||||
    "subfolder/Note1.md",
 | 
					 | 
				
			||||||
    "_Sidebar.md",
 | 
					 | 
				
			||||||
    "tests%252FSubpage.md.-.md",
 | 
					 | 
				
			||||||
    "subfolder.md",
 | 
					 | 
				
			||||||
    "subfolder%5C%2Fp2.md",
 | 
					 | 
				
			||||||
    "subfolder"
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										53
									
								
								Get.md
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
									
									
								
								
								
							
						
						
									
										53
									
								
								Get.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					`src/main/java/djmil/cashcard/CashCardController.java`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```java
 | 
				
			||||||
 | 
					package example.cashcard;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.http.ResponseEntity;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.GetMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.PathVariable;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RestController;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class CashCardController {
 | 
				
			||||||
 | 
						@GetMapping("/cashcards/{requestedId}")
 | 
				
			||||||
 | 
						public ResponseEntity<CashCard> findById(@PathVariable Long requestedId) {
 | 
				
			||||||
 | 
							if (requestedId.equals(99L)) {
 | 
				
			||||||
 | 
							    CashCard cashCard = new CashCard(99L, 123.45);
 | 
				
			||||||
 | 
						        return ResponseEntity.ok(cashCard);
 | 
				
			||||||
 | 
						    } else {
 | 
				
			||||||
 | 
						        return ResponseEntity.notFound().build();
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# @GetMapping 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Needs the URI Path and tells Spring to route `GET` requests strictly to the `findById` method. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Alternative variant for providing URI mapping for `@RestConttroller`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```java
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					@RequestMapping("/cashcards")
 | 
				
			||||||
 | 
					public class CashCardController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   @GetMapping("/{requestedId}")
 | 
				
			||||||
 | 
					   public ResponseEntity<String> findById() {
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# @PathVariable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Spring needs to know how to get the value of the `requestedId` parameter. This is done using the `@PathVariable` annotation. The fact that the parameter name matches the `{requestedId}` text *(URI Path)* within the `@GetMapping` parameter allows Spring to assign (inject) the correct value to the `requestedId` variable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ResponseEntity
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REST says that the Response needs to contain a Cash Card in its body, and a Response code of 200 (OK). Spring Web provides the `ResponseEntity` class for this purpose. It also provides several utility methods to produce Response Entities. Here `ResponseEntity` used to create a Response with code **200 (OK)**, and a body containing a `CashCard`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Testing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Testing `GET` and other REST request is considerate to be [[IntegrationTests]]. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Also, after running the application, you can use browser (or any other web-testing tool) by visiting http://localhost:8080/cashcards/99
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user