pchunter-api
PCHunter API
Posted on November 12, 2022
O post de hoje vai ser bem curto, vamos apenas desenvolver os métodos PUT (atualizar) e DELETE (deletar) da nossa API. Lembrando que estamos desenvolvendo um CRUD de um setup de PC. Um setup nada mais é do que um conjunto de peças necessárias para montar um computador de mesa: placa-mãe, placa de vídeo, processador, memória ram, etc.
updateSetup
Muito bem, vamos lá, para atualizarmos um setup específico do nosso banco de dados precisamos receber seu id
e o próprio objeto setup com os dados atualizados, após isso é necessário verificar se um setup com esse id
realmente existe, caso exista, nós o atualizamos, caso não, vamos retornar um objeto de setup vazio. Segue o código:
@PutMapping("{id}")
fun updateSetup(@PathVariable id: Long, @RequestBody setup: Setup): Setup {
if(repository.existsById(id)) {
return repository.save(setup)
}
return Setup()
}
Bem simples, não? Primeiro usamos a notação @PutMapping
para indicar que a função irá mapear o método HTPP PUT
, depois informamos que uma propriedade id
será necessária no caminho da url.
Procedendo para o desenvolvimento da função em si, seus parâmetros são: um id
, que será usado no caminho da url, como já dito, e um objeto setup, que será passado no body
(corpo) da requisição.
Então nós verificamos se um setup com o id
informado realmente existe com a função existsById()
, se existir, nós salvamos o setup atualizado e caso não exista, nós retornamos um objeto de setup vazio.
Para retornar esse objeto vazio, precisamos fazer algumas alterações nas nossas classes models. É preciso que as propriedades delas tenham valores-padrão, a classe Part
ficará dessa forma:
package br.com.pchunter.model
import br.com.pchunter.util.emptyString
import br.com.pchunter.util.zeroFloatNumber
import br.com.pchunter.util.zeroLongNumber
import com.fasterxml.jackson.annotation.JsonProperty
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
@Entity
data class Part(
@Id
@GeneratedValue
@JsonProperty(value = "id", access = JsonProperty.Access.READ_ONLY)
val id: Long = zeroLongNumber(),
val title: String = emptyString(),
val description: String = emptyString(),
val url: String = emptyString(),
val value: Float = zeroFloatNumber()
)
Aqui nós definimos que os valores-padrão serão números zero e string vazias por meio das funções zeroLongNumber()
, emptyString()
e zeroFloatNumber
:
package br.com.pchunter.util
fun emptyString() = ""
fun zeroLongNumber() = 0L
fun zeroFloatNumber() = 0.0f
Quanto a classe Setup
, vamos definir os valores-padrão das suas propriedades como objetos de Part
vazios e listas de Part
também vazias:
package br.com.pchunter.model
import br.com.pchunter.util.zeroLongNumber
import com.fasterxml.jackson.annotation.JsonProperty
import javax.persistence.*
@Entity
data class Setup(
@Id
@GeneratedValue
@JsonProperty(value = "id", access = JsonProperty.Access.READ_ONLY)
val id: Long = zeroLongNumber(),
@OneToOne(cascade = [CascadeType.PERSIST])
val cpu: Part = Part(),
@OneToOne(cascade = [CascadeType.PERSIST])
val motherboard: Part = Part(),
@OneToMany(cascade = [CascadeType.PERSIST])
val gpus: List<Part> = listOf(Part()),
@OneToMany(cascade = [CascadeType.PERSIST])
val hds: List<Part> = listOf(Part()),
@OneToMany(cascade = [CascadeType.PERSIST])
val ssds: List<Part> = listOf(Part()),
@OneToMany(cascade = [CascadeType.PERSIST])
val rams: List<Part> = listOf(Part()),
@OneToMany(cascade = [CascadeType.PERSIST])
val fans: List<Part> = listOf(Part()),
@OneToOne(cascade = [CascadeType.PERSIST])
val powerSupply: Part = Part(),
@OneToOne(cascade = [CascadeType.PERSIST])
val cabinet: Part = Part(),
@OneToMany(cascade = [CascadeType.PERSIST])
val monitors: List<Part> = listOf(Part()),
@OneToOne(cascade = [CascadeType.PERSIST])
val keyboard: Part = Part(),
@OneToOne(cascade = [CascadeType.PERSIST])
val mouse: Part = Part()
) {
val totalValue: Float
get() {
var acm = 0.0f
acm += cpu.value +
motherboard.value +
powerSupply.value +
cabinet.value +
keyboard.value +
mouse.value
gpus.forEach { gpu ->
acm += gpu.value
}
hds.forEach { hd ->
acm += hd.value
}
ssds.forEach { ssd ->
acm += ssd.value
}
rams.forEach { ram ->
acm += ram.value
}
fans.forEach { fan ->
acm += fan.value
}
monitors.forEach { monitor ->
acm += monitor.value
}
return acm
}
}
Pronto, agora vamos testar essa função. Usando o Postman
, faremos uma requisição GET
para observarmos como estão os setups atuais:
[
{
"id": 474,
"cpu": {
"id": 476,
"title": "Processador AMD Ryzen 5 5600X",
"description": "Processador AMD Ryzen 5 5600X, 3.7GHz (4.6GHz Max Turbo), Cache 35MB, 6 Núcleos, 12 Threads, AM4 - 100-100000065BOX",
"url": "https://www.kabum.com.br/produto/129451/processador-amd-ryzen-5-5600x-3-7ghz-4-6ghz-max-turbo-cache-35mb-6-nucleos-12-threads-am4-100-100000065box",
"value": 1199.99
},
"motherboard": {
"id": 478,
"title": "Placa-Mãe Gigabyte B550M",
"description": "Placa-Mãe Gigabyte B550M Aorus Elite, AMD AM4, Micro ATX, DDR4",
"url": "https://www.kabum.com.br/produto/114781/placa-mae-gigabyte-b550m-aorus-elite-amd-am4-micro-atx-ddr4",
"value": 849.99
},
"gpus": [
{
"id": 482,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 483,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 487,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 485,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 486,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 481,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 480,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 475,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 484,
"title": "Monitor Gamer LG Ultra Gear 27 Full HD",
"description": "Monitor Gamer LG Ultra Gear 27 Full HD, 144 Hz, 1ms, IPS, HDMI e DisplayPort, sRGB 99%, HDR10, FreeSync, VESA, Altura Ajustável - 27GL650F-B",
"url": "https://www.kabum.com.br/produto/380514/monitor-gamer-lg-ultra-gear-27-full-hd-144-hz-1ms-ips-hdmi-e-displayport-srgb-99-hdr10-freesync-vesa-altura-ajustavel-27gl650f-b",
"value": 1559.99
}
],
"keyboard": {
"id": 477,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 479,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 7879.911
},
{
"id": 488,
"cpu": {
"id": 490,
"title": "Processador AMD Ryzen 5 5600X",
"description": "Processador AMD Ryzen 5 5600X, 3.7GHz (4.6GHz Max Turbo), Cache 35MB, 6 Núcleos, 12 Threads, AM4 - 100-100000065BOX",
"url": "https://www.kabum.com.br/produto/129451/processador-amd-ryzen-5-5600x-3-7ghz-4-6ghz-max-turbo-cache-35mb-6-nucleos-12-threads-am4-100-100000065box",
"value": 1199.99
},
"motherboard": {
"id": 492,
"title": "Placa-Mãe Gigabyte B550M",
"description": "Placa-Mãe Gigabyte B550M Aorus Elite, AMD AM4, Micro ATX, DDR4",
"url": "https://www.kabum.com.br/produto/114781/placa-mae-gigabyte-b550m-aorus-elite-amd-am4-micro-atx-ddr4",
"value": 849.99
},
"gpus": [
{
"id": 496,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 497,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 501,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 499,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 500,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 495,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 494,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 489,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 498,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 491,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 493,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 8219.911
}
]
Podemos observar que existem dois setups, vamos escolher o primeiro para modificar, seu id
é 474. Esse será o novo setup passado no corpo da requisição PUT
:
{
"cpu": {
"title": "Processador AMD Ryzen 7 5800X",
"description": "Processador AMD Ryzen 7 5800X, 3.8GHz (4.7GHz Max Turbo), Cache 36MB, Octa Core, 16 Threads, AM4 - 100-100000063WOF",
"url": "https://www.kabum.com.br/produto/129459/processador-amd-ryzen-7-5800x-3-8ghz-4-7ghz-max-turbo-cache-36mb-octa-core-16-threads-am4-100-100000063wof",
"value": 1899.99
},
"motherboard": {
"title": "Placa Mãe B650M-A MSI PRO Wi-Fi",
"description": "Placa Mãe B650M-A MSI PRO Wi-Fi, AMD AM5, mATX, DDR5 - PRO B650M-A WIFI",
"url": "https://www.kabum.com.br/produto/392613/placa-mae-b650m-a-msi-pro-wi-fi-amd-am5-matx-ddr5-pro-b650m-a-wifi",
"value": 1999.99
},
"gpus": [
{
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
}
}
Apenas atualizamos alguns dados da cpu
e da motherboard
. Ao fazer a requisição, recebemos o seguinte resultado:
{
"id": 502,
"cpu": {
"id": 504,
"title": "Processador AMD Ryzen 7 5800X",
"description": "Processador AMD Ryzen 7 5800X, 3.8GHz (4.7GHz Max Turbo), Cache 36MB, Octa Core, 16 Threads, AM4 - 100-100000063WOF",
"url": "https://www.kabum.com.br/produto/129459/processador-amd-ryzen-7-5800x-3-8ghz-4-7ghz-max-turbo-cache-36mb-octa-core-16-threads-am4-100-100000063wof",
"value": 1899.99
},
"motherboard": {
"id": 506,
"title": "Placa Mãe B650M-A MSI PRO Wi-Fi",
"description": "Placa Mãe B650M-A MSI PRO Wi-Fi, AMD AM5, mATX, DDR5 - PRO B650M-A WIFI",
"url": "https://www.kabum.com.br/produto/392613/placa-mae-b650m-a-msi-pro-wi-fi-amd-am5-matx-ddr5-pro-b650m-a-wifi",
"value": 1999.99
},
"gpus": [
{
"id": 510,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 511,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 515,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 513,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 514,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 509,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 508,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 503,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 512,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 505,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 507,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 10069.911
}
O setup foi atualizado, mas repare que os id
s também foram, o que não deveria acontecer, já que ele deveria ser um identificador imutável, apenas de leitura. Isso é uma falha de segurança que trataremos no próximo post. Nosso método PUT
está pronto por enquanto.
deleteSetup
e deleteAllSetups
Nossa função para deletar um setup será tão simples quanto a de atualizar:
@DeleteMapping("{id}")
fun deleteSetup(@PathVariable id: Long) {
if (repository.existsById(id)) {
repository.deleteById(id)
}
}
Aqui também utilizamos uma notação chamada @DeleteMapping
, que indica que a função irá mapear um método HTTP DELETE
. Além disso, a função recebe um id
como parâmetro que irá ficar no caminho da url. A lógica é bem simples: primeiro verificamos se existe um setup com esse id
, caso exista, nós o deletamos.
Adicionalmente, vamos fazer uma função para deletar todos os setups:
@DeleteMapping()
fun deleteAllSetups() {
repository.deleteAll()
}
Bem simples, apenas utilizamos a função deleteAll()
do repository.
Agora vamos testar as funções. Primeiro vamos usar GET
para vermos quais setups estão salvos no banco de dados:
[
{
"id": 474,
"cpu": {
"id": 476,
"title": "Processador AMD Ryzen 5 5600X",
"description": "Processador AMD Ryzen 5 5600X, 3.7GHz (4.6GHz Max Turbo), Cache 35MB, 6 Núcleos, 12 Threads, AM4 - 100-100000065BOX",
"url": "https://www.kabum.com.br/produto/129451/processador-amd-ryzen-5-5600x-3-7ghz-4-6ghz-max-turbo-cache-35mb-6-nucleos-12-threads-am4-100-100000065box",
"value": 1199.99
},
"motherboard": {
"id": 478,
"title": "Placa-Mãe Gigabyte B550M",
"description": "Placa-Mãe Gigabyte B550M Aorus Elite, AMD AM4, Micro ATX, DDR4",
"url": "https://www.kabum.com.br/produto/114781/placa-mae-gigabyte-b550m-aorus-elite-amd-am4-micro-atx-ddr4",
"value": 849.99
},
"gpus": [
{
"id": 482,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 483,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 487,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 485,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 486,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 481,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 480,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 475,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 484,
"title": "Monitor Gamer LG Ultra Gear 27 Full HD",
"description": "Monitor Gamer LG Ultra Gear 27 Full HD, 144 Hz, 1ms, IPS, HDMI e DisplayPort, sRGB 99%, HDR10, FreeSync, VESA, Altura Ajustável - 27GL650F-B",
"url": "https://www.kabum.com.br/produto/380514/monitor-gamer-lg-ultra-gear-27-full-hd-144-hz-1ms-ips-hdmi-e-displayport-srgb-99-hdr10-freesync-vesa-altura-ajustavel-27gl650f-b",
"value": 1559.99
}
],
"keyboard": {
"id": 477,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 479,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 7879.911
},
{
"id": 488,
"cpu": {
"id": 490,
"title": "Processador AMD Ryzen 5 5600X",
"description": "Processador AMD Ryzen 5 5600X, 3.7GHz (4.6GHz Max Turbo), Cache 35MB, 6 Núcleos, 12 Threads, AM4 - 100-100000065BOX",
"url": "https://www.kabum.com.br/produto/129451/processador-amd-ryzen-5-5600x-3-7ghz-4-6ghz-max-turbo-cache-35mb-6-nucleos-12-threads-am4-100-100000065box",
"value": 1199.99
},
"motherboard": {
"id": 492,
"title": "Placa-Mãe Gigabyte B550M",
"description": "Placa-Mãe Gigabyte B550M Aorus Elite, AMD AM4, Micro ATX, DDR4",
"url": "https://www.kabum.com.br/produto/114781/placa-mae-gigabyte-b550m-aorus-elite-amd-am4-micro-atx-ddr4",
"value": 849.99
},
"gpus": [
{
"id": 496,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 497,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 501,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 499,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 500,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 495,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 494,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 489,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 498,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 491,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 493,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 8219.911
},
{
"id": 502,
"cpu": {
"id": 504,
"title": "Processador AMD Ryzen 7 5800X",
"description": "Processador AMD Ryzen 7 5800X, 3.8GHz (4.7GHz Max Turbo), Cache 36MB, Octa Core, 16 Threads, AM4 - 100-100000063WOF",
"url": "https://www.kabum.com.br/produto/129459/processador-amd-ryzen-7-5800x-3-8ghz-4-7ghz-max-turbo-cache-36mb-octa-core-16-threads-am4-100-100000063wof",
"value": 1899.99
},
"motherboard": {
"id": 506,
"title": "Placa Mãe B650M-A MSI PRO Wi-Fi",
"description": "Placa Mãe B650M-A MSI PRO Wi-Fi, AMD AM5, mATX, DDR5 - PRO B650M-A WIFI",
"url": "https://www.kabum.com.br/produto/392613/placa-mae-b650m-a-msi-pro-wi-fi-amd-am5-matx-ddr5-pro-b650m-a-wifi",
"value": 1999.99
},
"gpus": [
{
"id": 510,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 511,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 515,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 513,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 514,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 509,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 508,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 503,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 512,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 505,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 507,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 10069.911
}
]
Podemos ver que existem três setups com os seguintes id
s: 474, 488 e 502. Vamos usar a função deleteSetup()
para deletar o setup com id
474 fazendo uma requisição DELETE
por meio do postman.
Após isso, vamos usar GET
de novo para ver como ficou o banco de dados:
[
{
"id": 488,
"cpu": {
"id": 490,
"title": "Processador AMD Ryzen 5 5600X",
"description": "Processador AMD Ryzen 5 5600X, 3.7GHz (4.6GHz Max Turbo), Cache 35MB, 6 Núcleos, 12 Threads, AM4 - 100-100000065BOX",
"url": "https://www.kabum.com.br/produto/129451/processador-amd-ryzen-5-5600x-3-7ghz-4-6ghz-max-turbo-cache-35mb-6-nucleos-12-threads-am4-100-100000065box",
"value": 1199.99
},
"motherboard": {
"id": 492,
"title": "Placa-Mãe Gigabyte B550M",
"description": "Placa-Mãe Gigabyte B550M Aorus Elite, AMD AM4, Micro ATX, DDR4",
"url": "https://www.kabum.com.br/produto/114781/placa-mae-gigabyte-b550m-aorus-elite-amd-am4-micro-atx-ddr4",
"value": 849.99
},
"gpus": [
{
"id": 496,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 497,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 501,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 499,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 500,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 495,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 494,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 489,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 498,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 491,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 493,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 8219.911
},
{
"id": 502,
"cpu": {
"id": 504,
"title": "Processador AMD Ryzen 7 5800X",
"description": "Processador AMD Ryzen 7 5800X, 3.8GHz (4.7GHz Max Turbo), Cache 36MB, Octa Core, 16 Threads, AM4 - 100-100000063WOF",
"url": "https://www.kabum.com.br/produto/129459/processador-amd-ryzen-7-5800x-3-8ghz-4-7ghz-max-turbo-cache-36mb-octa-core-16-threads-am4-100-100000063wof",
"value": 1899.99
},
"motherboard": {
"id": 506,
"title": "Placa Mãe B650M-A MSI PRO Wi-Fi",
"description": "Placa Mãe B650M-A MSI PRO Wi-Fi, AMD AM5, mATX, DDR5 - PRO B650M-A WIFI",
"url": "https://www.kabum.com.br/produto/392613/placa-mae-b650m-a-msi-pro-wi-fi-amd-am5-matx-ddr5-pro-b650m-a-wifi",
"value": 1999.99
},
"gpus": [
{
"id": 510,
"title": "GTX 1660 Super",
"description": "Placa de Vídeo GTX 1660 Super Twin Fan Zotac Gaming NVIDIA GeForce, 6GB, GDDR6 - ZT-T16620F-10L",
"url": "https://www.kabum.com.br/produto/110396/placa-de-video-gtx-1660-super-twin-fan-zotac-gaming-nvidia-geforce-6gb-gddr6-zt-t16620f-10l",
"value": 1299.99
}
],
"hds": [
{
"id": 511,
"title": "HD Seagate 2TB",
"description": "HD Seagate 2TB BarraCuda, 3.5', SATA - ST2000DM008",
"url": "https://www.kabum.com.br/produto/100916/hd-seagate-2tb-barracuda-3-5-sata-st2000dm008",
"value": 299.99
}
],
"ssds": [
{
"id": 515,
"title": "SSD 512 GB",
"description": "SSD 512 GB XPG S41 TUF, M.2 PCIe, Leitura: 3500MB/s e Gravação: 2400MB/s - AGAMMIXS41-512G-C",
"url": "https://www.kabum.com.br/produto/127700/ssd-512-gb-xpg-s41-tuf-m-2-pcie-leitura-3500mb-s-e-gravacao-2400mb-s-agammixs41-512g-c",
"value": 409.99
}
],
"rams": [
{
"id": 513,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
},
{
"id": 514,
"title": "Memoria, Ram 8, Gb",
"description": "Memoria, Ram 8, Gb, Xpg, D60g, 3200 Mhz, Rgb, Ddr4, Ax4u320088g16ast60.",
"url": "https://www.kabum.com.br/produto/219915/memoria-ram-8-gb-xpg-d60g-3200-mhz-rgb-ddr4-ax4u320088g16ast60-",
"value": 390.06
}
],
"fans": [
{
"id": 509,
"title": "Cooler Fan Rise Mode Energy",
"description": "Cooler Fan Rise Mode Energy, 3 Unidades, 120mm, ARGB, Preto - FN-02-RGB-5V",
"url": "https://www.kabum.com.br/produto/153647/cooler-fan-rise-mode-energy-3-unidades-120mm-argb-preto-fn-02-rgb-5v",
"value": 129.99
}
],
"powerSupply": {
"id": 508,
"title": "Fonte Corsair CV550",
"description": "Fonte Corsair CV550, 550W, 80 Plus Bronze - CP-9020210-BR",
"url": "https://www.kabum.com.br/produto/108257/fonte-corsair-cv550-550w-80-plus-bronze-cp-9020210-br",
"value": 359.99
},
"cabinet": {
"id": 503,
"title": "Gabinete Gamer Corsair Carbide Series Spec Delta",
"description": "Gabinete Gamer Corsair Carbide Series Spec Delta, Mid-Tower, RGB, Lateral em Vidro Temperado, Preto, CC-9011166-WW",
"url": "https://www.kabum.com.br/produto/100004/gabinete-gamer-corsair-carbide-series-spec-delta-mid-tower-rgb-lateral-em-vidro-temperado-preto-cc-9011166-ww",
"value": 399.99
},
"monitors": [
{
"id": 512,
"title": "Monitor Gamer LG UltraGear 32 LED",
"description": "Monitor Gamer LG UltraGear 32 LED, 165 Hz, QHD, 1ms, HDMI/DisplayPort, 95% sRGB, FreeSync Premium, HDR 10, VESA, Preto - 32GN600-B",
"url": "https://www.kabum.com.br/produto/364835/monitor-gamer-lg-ultragear-32-led-165-hz-qhd-1ms-hdmi-displayport-95-srgb-freesync-premium-hdr-10-vesa-preto-32gn600-b",
"value": 1899.99
}
],
"keyboard": {
"id": 505,
"title": "Teclado Mecânico Gamer HyperX Alloy Origins Core",
"description": "Teclado Mecânico Gamer HyperX Alloy Origins Core, RGB, Switch HyperX Red, ABNT2 - HX-KB7RDX-BR",
"url": "https://www.kabum.com.br/produto/105009/teclado-mecanico-gamer-hyperx-alloy-origins-core-rgb-switch-hyperx-red-abnt2-hx-kb7rdx-br",
"value": 419.99
},
"mouse": {
"id": 507,
"title": "Mouse Gamer HyperX Pulsefire Surge",
"description": "Mouse Gamer HyperX Pulsefire Surge RGB 16000 DPI - HX-MC002B",
"url": "https://www.kabum.com.br/produto/95566/mouse-gamer-hyperx-pulsefire-surge-rgb-16000-dpi-hx-mc002b",
"value": 169.89
},
"totalValue": 10069.911
}
]
A nossa função funcionou :), o setup foi deletado. Por fim, usaremos a função deleteAllSetups()
para deletar todos os setups e usar GET
de novo para obtermos a seguinte resposta:
[]
Recebemos um JSON vazio, nossa outra função também funcionou! E assim terminamos nosso post de hoje.
No próximo post vamos finalizar a primeira parte dessa nossa API simples melhorando sua segurança, impedindo que os id
s dos setups e das peças sejam sobrescritos, por exemplo.
Repositório no github:
Post anterior:
Posted on November 12, 2022
Sign up to receive the latest update from our blog.