ืชืืื ืืืืืจ ืืืืืจืื ืฉืืืืฉ ืืืืจ ืืขืืืืืช ืฉื ืืืฉืื ืืืจ ืืื ืขื ืืื ืงืืืฉ ืืื ืืคืชื ๐ ืืื ืืืืฉืื ืืืื, ืฆืจืื ืืืืื ืืช ืืืกืืืืช ืฉื ืจืฉืช ืืืฉืืื, ืื ื ืกืืจืช ืืืืจืื . ืฉืืื ืื ืื ืงืืืืช ืืขืืงืจืืืช: ืืื HTTP ืขืืื, ืื ืื GET, POST, PUT, ืกืืืืกื ืชืืืื, MVC, ืงืจื ืื ืคืจื ืขื JSON ืืกืืจื . ืื ืืืื ืฉืืืืฉื ืืืืฉื ืืช ืืืืืื ืืืืฆืขืช ืขื servlets, ืื ืืขืืืจ ืื ืืืืื ืืืฃ ืืืื ืืื ืืืื. ืืืฉืื ืืืื-boot ืืืืืื ืืกืืจื ืื ืืื ืื ืคืฉืื, ืื ืืื ืืขืืืจ ืืื ืืืืื ืืช ืืืืืช ืฉื MVC. ืืืื ืืืื ืงืืฉืืจ ืืคืจืืืงื ืืขื ืืื ืืืชืจ. ืืื ืืืืืจ ืืช REST ืืืฉืืืืฉ ืื ืืืืื, ืงืจื ืืช ืฉืืืฉืช ืืืืืจืื ืืืื . ืืืืืจ ืืจืืฉืื ืชืงืจื ืื ืื REST. ืืืืืจ ืืฉื ื ืืืืจ ืขื ืืงืฉืืช ืืชืืืืืช, ืืงืคื ืืงืจืื ืืืฉืื ืื ืืืขืจื ืฉื ืืืืจ ืคืืื. ืืืืืจ ืืฉืืืฉื ืืฆืืข ืืืืื ืืขืฉืืช ืืืืฉืื ืืืืื, ืืืืฉื ืืืฆืืจืช ืืคืืืงืฆืื ืืื ื ืฉืื ื ืืืจืื (ืืืขืื ืืืกืชืื ืืืืฉืืืช), ืืืืฉื ืืืชื. ืฉืืื ืื ืืืงืื ืฉืื ืื ืืืืจืื ืขื HttpStatus, ResponseEntity <?> (ืื <?> ืืืืื, ืื ืงืจืื ืืช ืคืจืง 13. ืืืืืืช ืืชืื "Java. A Beginner's Guide", ืืจืืจื ืฉืืืื), ืืืืชื ืืืืจ ืงืจืื ืขื POSTMAN ( ืื ืืกืฃ ืกืจืืื ืงืฆืจ ืขื ืื ) ืืชืงื ืืช POSTMAN, ืืชื ืื ืฆืจืื ืืช ืื ืืชืืื ืืช, ืจืื ืืืฆื ืืืฆืืจ ืฉืืืืชืืช ืฉืื ืืช. ืืฉ ืืืคืจืืืจืื ืฉืืืฉืืื ืืืืืื, ืจืขื ื ืืช ืืืืืจืื ืื ืฉืืืช. ืฉืืื ืื ืืืืคื ืฉืื ืืืืืจ ืืืืืื ืืืืฉื ืืืจืงืช ืฉืขืืขืืช ืืืืฆืขืืช @Autowired
@RestController
public class ClientController {
private final ClientService clientService;
@Autowired
public ClientController(ClientService clientService) {
this.clientService = clientService;
}
}
ืขืืื ืืืืืช ืืืืข ืืื ืฉืืื ื-Spring 4.3, ื ืืชื ืืืฉืืื ืืช ืืืขืจื @Autowired ืื ืืืืืงื ืืฉ ืจืง ืื ืื ืืื. ืืืกืืจืช ืขืฆืื ืชืืื ืฉืฆืจืื ืืืืฉื ืฉืขืืขืืช ืืงืื ืกืืจืืงืืืจ. ืืชื ืืืื ืืงืจืื ืขืื ืืืงืืจ ืื . ืืื ืืชื ืืืืจ, ืื ืฆืจืืื ืืืืืช ืื ืฉืืื ืืืื ืืืื ื ืฉื ืืืืืช ืืฉืืจืืช , ืืืืืจ: ืืื ืืฉ ืืืฉืง ClientService ื- Public class ClientServiceImpl - ืื ื ืืื ื ืืื, ืืืืืจ ืืืชืจ, ื ืืืจ ืขื ืืื ืื ื ืืืฅ ืืื ืื ื ืืฉืชืืฉ ืื. ืื ืืื ืขื ืืืืืจืื. ืืคื ื ืืงืจืืื, ืืืื ื ืืชืื. ืืื ืฉืืืืจืื: "ืื ืืื ืืื ืงืื!" ืื ืงืืืช ืืชืืื, ืืืื ื ืืฆืืจ ืืงืฉืช GET ืคืฉืืื. ืืคืขื ืืืืจืื ื ืฉืืชืื ื ืืคืืืงืฆืื ืืกืคืงืืืฆืืืช ืืจืงืืช, git clone https://FromJava@bitbucket.org/FromJava/speculation.git git clone git@bitbucket.org:FromJava/speculation.git ืคืชืื ืืช ืืืคืืืงืฆืื, ืืืืืืื ru. java. rush ื ืืฆืืจ ืืืืืช ืืงืจืื (ืืงืจืื ืืชืื ืืช MVC ืืืืงืื ืืื). ืฆืืจ ProductController ืืืืชื ืฆืืืืจืืช
@RestController
@RequestMapping("/speculation")
public class ProductController {
}
ืืืขืจื @RestController ืืฆืืื ืช ื-Spring ืฉืืื ืืงืจ ืื ืืื. @RequestMapping - ืื ืฉืืืืช ืืืงืจ ืืงืืื ืืงืฉืืช ืขื URI ืฉืืชืืื ืืืืจืืืช ืฉืฆืืื ื ืืกืืืจืืื ืฉื ืืืขืจืืช ("/ืกืคืงืืืฆืื"). ืื ื ืืืชืืื ืืช ืืฉืืื ืืืื ืืืืชื
@GetMapping("/simple")
public String simple(){
return "ะะตะณะบะธะน GET requestะธะบ";
}
ืื ื ืืฉืืงืื ืืช ืืคืจืืืงื, ืืงืืืื ืืฉืืจืช ืืืคืืคื: http://localhost:8080/speculation/simple ื ืงืื ืืช ืืชืฉืืื: ืืงืฉืช GET ืงืื ืืกืคืจ ืืกืืจืื: 1. ืืฆืจื ื ืืืืงื ืฉืกืืื ื ืืช @RestController ืืืงืจ, ืฆืืื ื ืืช ื ืชืื ืืืื @RequestMapping ("/ ืกืคืงืืืฆืื") โ ืืขืจื ืื ืืื ืืืคืฆืืื ืืืช; ืืืขืืื, ืื ืชืื ืืชืืื ื-"/". 2. ืืฆืจื ื ืฉืืื ืฉืืืฉืจ ืืื ืืืืฆืขืช, ืืืืืจื ืืืจืืืช (Light GET request), ืกืืื ื ืืืชื ืืืืืืจ @GetMapping (ืฉืฉืืื ืื ืืืืขืืช ืืืืืื ืืืงืฉืืช GET) ืืฆืืื ื ืืช ืื ืชืื ืืืชืืื ("/simple") 3. ืืฉืงื ื ืืช ืืคืจืืืืงื (ืฉืจืช) ืืืฆืืื 8080, ืืืืฉื ื ืืงืฉืช GET ืืืชืืืช: server/controller/method (http://localhost:8080/speculation/simple) 4. The public String simple(){ return ืฉืืืช "Easy GET requester" ืขืืื ืขืืืจ ืืงืฉื ืื; } 5. ืชืืฆืืช ืืฉืืื ืืืืืจื ืืืคืืคื ืืฆืืจื ืฉื ืืืืจืืืช "Easy GET request". ืืืื, ืื ืืชืืื! ืืืชืืืช ืืืจืชืงืืช ืืืืชืจ ืืืืืช ืืื. ืฉืืืื ืืืืืจ ืืืืฆืข ืืขืื ืืืงื ืืืชืจ ืืืื ืืื, ืืื ืฆืืจื ืืืืจ ืืื, ืื ืืฉื ืืื ืืฉืื ืืืื ืืฆืจืื ืืืืื ืืืชื, "ืืืืื ืืช ืืคืื ืืืืงืื". ืืืืจืื (ืืืืจ ืฉืืืื ืืืืืจ): ืืฉืื ืืช ืืงืจ ืืืฉืื ืืกืคืงืืืฆืืืช . ืฆืืจ ืฉืืืืช: 1) ืืคืฉ ืืืฆืจ ืืคื ืืืื ืืฉืชืืฉ ืืฉืืืช productService.findById(); ืคืื ืืืืืื
{
"id": 1,
"name": "ะะฐััะพัะตะปั",
"purchasePrice": 20,
"packaging": null,
"salePrice": null
}
ืืืืจ ืืืืขืช ืฉืืืืช ืืืงืจ ืื ืืชืจืืช, ืืฉืื: "ืืืืข ืฉื ื ืืฉืืืช ืืืืจืื ืื ืืืืื? ืื ืฆืจืื ืืขืฉืืช ืืื ืฉืืืื ืฉื ืืื ืขืจืืื?" 2) ืืฆื ืืช ืื ืืืืฆืจืื ืืืืืช ืืื ืืช: ืืื ืืืคืฉ ืืช ืื ืืืืฆืจืื, ืืฉืชืืฉ ืืฉืืืช productService.findAll(); ืืื ืืืื ืืช ืฉืืืช ืืืจืืื ืืืกืืืื, ืืฉืชืืฉ ื- productService.pack(); productService.makeMoney(); ืืคืื ืฆืจืื ืืืืื ืืขืจื JSON ืืืคืจื ืืืฆืจืื, ืืืืืื:
[
{
"id": 1,
"name": "ะะฐััะพัะตะปั",
"purchasePrice": 20,
"packaging": "ะฃะฟะฐะบะพะฒะฐะฝะพ ะฒ ะปัััะตะผ ะฒะธะดะต",
"salePrice": 100
},
{
"id": 2,
"name": "ะะพัะบะพะฒั",
"purchasePrice": 14,
"packaging": "ะฃะฟะฐะบะพะฒะฐะฝะพ ะฒ ะปัััะตะผ ะฒะธะดะต",
"salePrice": 70
}
]
3) ืืืกืคืช ืืืฆืจ ืืืฉ ืืืกื ืื ืชืื ืื (ืืืกืคืช ืืืฆืจ: ืืจืื ืืืืืจ ืจืืืฉื ืกืืืื ืื) ืืฉืชืืฉ ื: productService.save(); ืืฉืืื ืฆืจืืื ืืืืืืจ ืืช ืืฆื ื-Http ืืืชืืื. 4) ืืืืงืช ืืืฆืจ ืืคื id ืืื ืืขืฉืืช ืืืช, ืชืืืื ืืืืืข ื- ProductService ืฉืืื ืืืืืื productRepository.deleteById(); ืืืืืจ ืืื, ืืฉืชืืฉ ืื ืืืงืจ. ืฉืืืช ืืืงืจ ืืืืืช ืืืืืืจ ืืช ืืฆื ื-Http ืืืชืืื. 5) ืฉืื ืืืื ืืืืฆืจ ืืคื id (ืฉืื ืื ืืืืืจ ืืกืืืื ืื ืฉื ืืืืฆืจ ืืฉื ืืืืฆืจ) ืคืขืืื ืื ืชืืื ืืกืืืืช ืืืชืจ ืืืงืืืืืช. ืจืืฉืืช ืขืืื ื ืืืฆืื ืืช ืืืืฆืจ ืฉืืจืฆืื ื ื ืืฉื ืืช ืืคื id ืืฉืชืืฉ ื-productService.findById(); ืืืืจ ืืื, ืืืืฆืจ ืฉื ืืฆื (object), ืืืืฃ ืืช ืืขืจื ืฉื ืืฉืืืช ืืขืจื ืฉื ืืฉืืืช ืฉื ืืืืืืืงื ืฉืืชืงืื ืืืืฃ ื-Put request (json_object). ื ืืชื ืืขืฉืืช ืืืช ืืฆืืจื ืืื:
ะฝะฐะนะดะตะฝะฝัะน_ัะพะฒะฐั = productService.findById(id);
ะฝะฐะนะดะตะฝะฝัะน_ัะพะฒะฐั.setName(an object_json.getName);
ะฝะฐะนะดะตะฝะฝัะน_ัะพะฒะฐั.setPurchasePrice(an object_json.getPurchasePrice);
ืืืืจ ืืื, ืืฉ ืืฉืืืจ ืืช ืืืืฆืจ ืฉืืฉืชื ื productService.save(found_product); ืืฉืืื ืฆืจืืื ืืืืืืจ ืืช ืืฆื ื-Http ืืืชืืื. ืื ืืฉ ืื ืืขืืืช ืืฉืืื ืื, ืืชื ืืืื ืืืคืฉ ืืืืื "ืฉืื ืืงืฉื java", ืืฃ ืืื ืื ืืืื ืืช ืืืื ืืจื ื ืขืืืื) ืืขืืืื ืขื ืืงืจืื ืื ืืกืชืืืืช ืฉื, ืืฉ ืขืืืื ืืจืื ื ืืฉืืื ืืคื ื...
GO TO FULL VERSION