In the previous posting we saw how to create an API to get all the cars in our database. In this posting we’ll look at the remaining CRUD (Create Review Update Delete) operations.
As you may remember, we created a controller named CarController. ASP.NET will strip off the word Controller, leaving us with Car, which we will use to access the endpoints of our API.
An endpoint is just a URL that takes us to the operation we want.
We looked at GetAll, let’s take a look at Get. In this case, we have an id for the car we want, but we want all the details of that car. Simple!
First we need a method in our controller:
[HttpGet("{id}")]
public async Task<ActionResult<Car>> Get(int id)
{
var car = await _carRepository.Get(id);
if (car == null)
{
return NotFound();
}
return car;
}
Notice that next to the HttpGet attribute we indicate that the endpoint will take the id of the car we want
[HttpGet("{id}")]
This means we need to modify the URL to access the endpoint by adding the actual id of the desired record.
The first thing we do is call the repository, passing in the id.
public async Task<Car?> Get(int id)
{
var query = "select * from car where id=@id";
using var db = databaseConnectionFactory.GetConnection();
return await db.QuerySingleOrDefaultAsync<Car>(query, new {id});
}
In the Get method of the repo we create our query, get our connection and execute the query returning the value we retrieved (if any). This is very close to what we did previously.
Back in the controller, we check to ensure that we received a Car. If not, we return NotFound which is a shorthand way of returning a 404 message. Otherwise we return the Car as a Json object. You can see this in Postman:
We’ll issue a Get command passing in the URL, ending with the id of the car we want (in this case 4)
Notice that we get back a 200, indicating success. In the body of the returned Json we get back all the details of the Car. (If you decide to use DTOs you can get whatever subset of the information makes sense):
Post
Adding a Car to the database is quite similar. We need a method in the controller and one in the repo. Here is the controller method:
[HttpPost]
public async Task<ActionResult<Car>> Post([FromBody] Car car)
{
try
{
car = await _carService.Insert(car);
}
catch (Exception e)
{
return BadRequest(e);
}
return CreatedAtAction(nameof(Get), new { id = car.Id }, car);
}
Look at the attribute in the parameter ([FromBody]. This indicates to the API that the data needed to insert this Car will be in the body of the call. The alternative is FromQuery. You can, in fact, use both in one call.
Note: CreatedAction causes a return code of 201, which is what we want. Here’s the body we’ll insert:
When we click Send this data is sent to the API which returns 201 (created) and in the body of the returned data we see the new id assigned to this car
Service Class
Notice that this time, instead of calling the Repo directly, the method in the controller calls into a service class. A service class is a great way to get the logic out of the controller, where it does not belong, without putting it into the repo, where it also does not belong.
Here’s the top of the CarService
public class CarService : ICarService
{
private readonly ICarRepository _carRepository;
public CarService(ICarRepository carRepository)
{
_carRepository = carRepository;
}
public async Task<Car> Insert(Car car)
{
var newId = await _carRepository.UpsertAsync(car);
if (newId > 0)
{
car.Id = newId;
}
else
{
throw new Exception("Failed to insert car");
}
return car;
}
All the logic associated with this insert (e.g., making sure we get back a legitimate id from the repository, etc.) is encapsulated in the service.
This leaves the repository free to just talk to the database,
public async Task<int> UpsertAsync(Car car)
{
using var db = databaseConnectionFactory.GetConnection();
var sql = @"
DECLARE @InsertedRows AS TABLE (Id int);
MERGE INTO Car AS target
USING (SELECT @Id AS Id, @Name AS Name, @Model_Year AS Model_Year,
@Is_Deleted AS Is_Deleted, @Origin AS origin ) AS source
ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE SET
Name = source.Name,
Model_Year = source.Model_Year,
Is_Deleted = source.Is_Deleted,
Origin = source.Origin
WHEN NOT MATCHED THEN
INSERT (Name, Model_Year, Is_Deleted, Origin)
VALUES (source.Name, source.Model_Year,
source.Is_Deleted, source.Origin)
OUTPUT inserted.Id INTO @InsertedRows
;
SELECT Id FROM @InsertedRows;
";
var newId = await db.QuerySingleOrDefaultAsync<int>(sql, car);
return newId == 0 ? car.Id : newId;
}
Rather than having an insert and an update method, we combine that logic into this upsert method. This is a common idiom for database manipulation.
Note: to make this work, be sure to fill in all the fields for a car (or at least as many as you want to have in the Database.
Delete
As noted earlier, we will implement a soft delete; that is, rather than actually removing the data from the database, we’ll just set the is_deleted column to true. This allows us to reverse the action, and make the row not-deleted by simply changing that value to false.
[HttpDelete(“{id}”)]
public async Task<IActionResult> Delete(int id)
{
try
{
await _carService.Delete(id);
}
catch (Exception e)
{
return BadRequest(e);
}
return NoContent();
}
As you would expect, the endpoint takes an id (the id of the car we want to delete). The controller then hands that off to the service, which calls the repository which, in turn, marks that id as deleted:
public async Task<int> DeleteAsync(int id)
{
using var db = databaseConnectionFactory.GetConnection();
var query = "UPDATE car SET Is_Deleted = 1 WHERE Id = @Id";
return await db.ExecuteAsync(query, new { Id = id });
}
If you are comfortable with SQL none of this will be very surprising. The key walkaway is:
Summary
In this post we saw that endpoints are just URLs with (potentially) data in the body of the request. The controller handles the URL and in our case passes the id or other data to the service. The service handles the (business) logic and then delegates talking to the database to the repository.
Book
This posting is excerpted from my forthcoming book Building APIs with .NET and C# to be released next year by Packt.







































Запой — это не просто периодическое употребление спиртного, а опасное состояние, при котором организм находится в постоянной интоксикации, теряет ресурсы и перестаёт справляться с последствиями этанола. Со временем развивается тяжёлое отравление, нарушается работа сердца, печени, мозга, а попытка «самостоятельно бросить» может привести к судорогам, галлюцинациям и даже коме. Именно поэтому важно вовремя обратиться за медицинской помощью. В Серпухове вывод из запоя осуществляет наркологическая клиника «Новая Энергия» — мы выезжаем на дом круглосуточно и при необходимости госпитализируем пациента в стационар.
Узнать больше – anonimnyj-vyvod-iz-zapoya
Каждый день запоя увеличивает риск для жизни. Не рискуйте — специалисты в Ростове-На-Дону приедут на дом и окажут экстренную помощь. Без боли, стресса и ожидания.
Проверенные методы — узнай сейчас – вывод из запоя на дому цена город ростов-на-дону
Затяжной запой опасен для жизни. Врачи наркологической клиники в Ростове-На-Дону проводят срочный вывод из запоя — на дому или в стационаре. Анонимно, безопасно, круглосуточно.
Не пропусти важное – вывод из запоя недорого в ростове-на-дону
Близкий человек в запое? Не ждите ухудшения. Обратитесь в клинику — здесь проведут профессиональный вывод из запоя с последующим восстановлением организма.
Детальнее – капельница от запоя цена город. московская область
Самостоятельно выйти из запоя — почти невозможно. В Коломне врачи клиники проводят медикаментозный вывод из запоя с круглосуточным выездом. Доверяйте профессионалам.
Изучить вопрос глубже – врача капельницу от запоя в коломне
I loved as much as you will receive carried out right here.
The sketch is attractive, your authored material stylish.
nonetheless, you command get bought an nervousness over that you wish be delivering the following.
unwell unquestionably come more formerly again as exactly the same
nearly very often inside case you shield this increase.
Also visit my website … audizen review
Близкий человек в запое? Не ждите ухудшения. Обратитесь в клинику — здесь проведут профессиональный вывод из запоя с последующим восстановлением организма.
Дополнительно читайте здесь – ростов-на-дону.
Мы рекомендуем рассмотреть кодирование, если:
Изучить вопрос глубже – кодирование от алкоголизма на дому
В «Трезвом Истоке» мы понимаем: принять решение о вызове — это шаг, требующий смелости. Особенно если речь идёт о близком человеке, который отрицает наличие проблемы. Именно поэтому наши врачи умеют работать тактично, без давления. Мы не заставляем — мы объясняем. Спокойно, профессионально и по-человечески.
Получить дополнительные сведения – vyvod-iz-zapoya-klinika
Когда организм на пределе, важна срочная помощь в Ростове-На-Дону — это команда опытных наркологов, которые помогут быстро и мягко выйти из запоя без вреда для здоровья.
Прочитать подробнее – наркология вывод из запоя
Когда организм на пределе, важна срочная помощь в Ростове-На-Дону — это команда опытных наркологов, которые помогут быстро и мягко выйти из запоя без вреда для здоровья.
Раскрыть тему полностью – срочный вывод из запоя в ростове-на-дону
Процесс лечения организован по отлаженной схеме, которая включает несколько последовательных этапов для быстрого и безопасного вывода из запоя:
Узнать больше – вывод из запоя клиника
Врач-нарколог проводит комплексное обследование пациента, оценивая степень зависимости и общее состояние организма. В ходе первичного осмотра специалист не только определяет тяжесть алкогольной зависимости, но и выявляет сопутствующие патологии, которые могут повлиять на процесс лечения. Обследование включает лабораторные анализы, электрокардиограмму и другие необходимые диагностические процедуры. Врач тщательно изучает анамнез для выявления возможных противопоказаний к определенным методам терапии. Особое внимание уделяется психологическим аспектам, которые могли способствовать формированию зависимости, что помогает разработать эффективную программу лечения.
Получить дополнительные сведения – вывод из запоя на дому круглосуточно красноярск
Процедура вывода из запоя начинается с тщательной диагностики состояния пациента, чтобы определить, какие методы лечения будут наиболее эффективными. Мы применяем индивидуальный подход и комбинируем медикаментозное лечение с психотерапевтической поддержкой, что даёт лучший результат.
Изучить вопрос глубже – http://narcolog-na-dom-novokuznetsk0.ru
Запой – это неконтролируемое употребление алкоголя, которое приводит к серьезным последствиям. Алкогольное отравление организма приводит к серьезным проблемам со здоровьем. Выходить из запоя самостоятельно – рискованно и неэффективно. Мы предлагаем помощь при запое на дому, в привычных для вас условиях. Круглосуточная помощь при запое с выездом на дом за 30-60 минут. Длительный запой разрушает организм и может быть смертельным. Чем раньше вы обратитесь за помощью, тем больше шансов на выздоровление.
Выяснить больше – https://vyvod-iz-zapoya-krasnoyarsk0.ru/vyvod-iz-zapoya-czena-krasnoyarsk/
Клиника «Гармония и Свет» предоставляет качественные услуги нарколога на дому, обеспечивая пациентам комфортное лечение в привычной обстановке. Это позволяет не только своевременно получить квалифицированную помощь, но и сделать процесс лечения максимально непринужденным и анонимным.
Подробнее – нарколог на дом анонимно в екатеринбурге
Лечение запоя в клинике «Преодоление» строится на поэтапном подходе, направленном на полное восстановление организма. После первичной диагностики назначается индивидуальная программа, включающая следующие шаги:
Получить дополнительные сведения – http://наркология-помощь.рф/
По окончании курса детоксикации нарколог дает пациенту и его близким подробные рекомендации, помогающие быстрее восстановить здоровье и предотвратить повторные случаи запоев.
Исследовать вопрос подробнее – vyvod-iz-zapoya novosibirsk
На данном этапе врач уточняет продолжительность запоя, характер употребляемого алкоголя и наличие сопутствующих заболеваний. Тщательный анализ позволяет оперативно определить оптимальную схему детоксикации и минимизировать риск осложнений.
Подробнее – наркология вывод из запоя тверь
При поступлении вызова специалист прибывает по указанному адресу в течение 30–60 минут. На этом этапе врач проводит тщательный осмотр, измеряет артериальное давление, пульс и уровень кислорода в крови. Также собирается подробный анамнез: выясняется, сколько дней длился запой, какие напитки употреблялись, есть ли хронические заболевания, и были ли предыдущие эпизоды алкогольной интоксикации. Эти данные помогают составить оптимальный план лечения.
Углубиться в тему – https://narcolog-na-dom-krasnoyarsk0.ru/
Не можете добраться до клиники? Нарколог на дом в Иркутске – оптимальный выход при запое. Нарколог на дом – это удобно: обследование, лечение и детоксикация в комфортных условиях. Выезд нарколога в любое время, анонимность и безопасность – это «ТрезвоМед». Без медицинской помощи не обойтись? Звоните наркологу! Чем быстрее помощь, тем лучше прогноз, – нарколог Игорь Васильев.
Подробнее можно узнать тут – нарколог на дом иркутск
После первичной диагностики начинается активная фаза медикаментозного лечения. Препараты вводятся капельничным методом, что позволяет быстро снизить уровень токсинов в крови, восстановить нормальный обмен веществ и стабилизировать работу внутренних органов, таких как печень, почки и сердце.
Подробнее можно узнать тут – https://наркология-дома1.рф/narkolog-na-dom-kruglosutochno-ryazan
Действие и назначение
Исследовать вопрос подробнее – http://www.domen.ru
Самостоятельно выйти из запоя — почти невозможно. В Ростове-На-Дону врачи клиники проводят медикаментозный вывод из запоя с круглосуточным выездом. Доверяйте профессионалам.
Дополнительно читайте здесь – вывод из запоя анонимно город ростов-на-дону
Каждый день запоя увеличивает риск для жизни. Не рискуйте — специалисты в Ростове-На-Дону приедут на дом и окажут экстренную помощь. Без боли, стресса и ожидания.
Углубиться в тему – вывод из запоя на дому круглосуточно
Некоторые состояния требуют немедленного вмешательства нарколога, так как отказ от лечения может привести к тяжелым осложнениям и риску для жизни.
Получить дополнительную информацию – нарколог на дом клиника в новокузнецке
Все больше людей в Екатеринбурге выбирают капельницу на дому, и это не случайно. Данная услуга имеет несколько важных преимуществ. Во-первых, это анонимность — пациент может получить помощь без необходимости посещать медицинское учреждение. Во-вторых, лечение на дому позволяет избежать лишнего стресса, который может возникнуть при пребывании в больнице. Пациент чувствует себя в своей обстановке, что способствует лучшему восстановлению.
Подробнее – капельница от запоя цена
Следующий этап — медикаментозная поддержка, которая включает препараты для защиты печени, улучшения работы сердечно-сосудистой системы и снижения симптомов абстиненции. В зависимости от состояния пациента могут применяться седативные и ноотропные препараты, позволяющие стабилизировать психоэмоциональный фон и устранить тревожность.
Подробнее можно узнать тут – http://наркология-дома.рф
Когда пациент решает обратиться за помощью к наркологу на дом, ему предстоит пройти ряд этапов лечения, каждый из которых будет направлен на устранение последствий алкоголизма. Врач проведет первичный осмотр, выслушает жалобы пациента и на основе собранной информации начнёт индивидуальную программу лечения.
Подробнее можно узнать тут – вызов нарколога на дом екатеринбург
Горящие туры весна: пробуждение природы. Новый аэропорт – больше рейсов
Кроме того, врач оказывает психологическую поддержку, которая помогает пациенту справиться с чувством тревоги, депрессией и страхом, возникающими на фоне зависимости.
Изучить вопрос глубже – https://narcolog-na-dom-v-krasnoyarske55.ru
Самостоятельно выйти из запоя — почти невозможно. В Ростове-На-Дону врачи клиники проводят медикаментозный вывод из запоя с круглосуточным выездом. Доверяйте профессионалам.
Узнать больше – http://vyvod-iz-zapoya-rostov18.ru
Алкогольная зависимость может стремительно ухудшать состояние здоровья, превращаясь в запой, сопровождающийся серьезной интоксикацией организма. В Санкт-Петербурге профессиональные наркологи выезжают на дом круглосуточно, чтобы оказать экстренную помощь в критических ситуациях. Такой формат лечения позволяет начать детоксикацию сразу после обращения, обеспечивая оперативное вмешательство в комфортных условиях, где пациент сохраняет свою конфиденциальность.
Выяснить больше – http://narco-vivod-clean.ru
Когда организм на пределе, важна срочная помощь в Ростове-На-Дону — это команда опытных наркологов, которые помогут быстро и мягко выйти из запоя без вреда для здоровья.
Слушай внимательно — тут важно – вывод из запоя на дому круглосуточно
Лечение запоя в клинике «Преодоление» строится на поэтапном подходе, направленном на полное восстановление организма. После первичной диагностики назначается индивидуальная программа, включающая следующие шаги:
Углубиться в тему – http://наркология-помощь.рф/vyvod-iz-zapoya-na-domu-rostov-na-donu/https://наркология-помощь.рф
В Ростове-На-Дону решение есть — наркологическая клиника. Здесь помогают людям выйти из запоя без страха и осуждения. Всё анонимно, грамотно и с заботой о каждом пациенте.
Переходите по ссылке ниже – вывод из запоя ростовская область
Запой – тяжелое состояние, когда организм не может функционировать без алкоголя. Токсины накапливаются, органы перестают работать, иммунитет слабеет. Это очень опасно. Самостоятельные попытки выйти из запоя только ухудшают ситуацию и усиливают страдания. Клиника «Семья и Здоровье» предлагает лечение на дому, без стресса и в комфортной обстановке. Мы работаем круглосуточно, быстро приезжаем и проводим все необходимые процедуры. Длительный запой разрушает организм, ухудшает качество жизни и может привести к опасным ситуациям. Своевременный вывод из запоя — это критически важно для сохранения здоровья и жизни.
Узнать больше – вывод из запоя в красноярске
Запой может быть не только физически тяжёлым, но и психологически разрушительным. Поэтому важно вовремя обратиться за помощью. Вывод из запоя в Нижнем Новгороде — это необходимая медицинская процедура, которая помогает победить алкогольную зависимость и восстановить здоровье. Мы в клинике «АнтиЗависимость» предлагаем круглосуточную помощь в комфортных условиях — на дому или в стационаре.
Разобраться лучше – http://narcolog-na-dom-novokuznetsk0.ru/
Нужен был строительный альпинизм — здание в 12 этажей, нужно было демонтировать старую конструкцию. Google показал MD ALP первыми. Сайт внушает доверие, и по факту — не зря. Приехали, сделали быстро и безопасно. Работают с допусками, надёжно, без лишней болтовни. Профи.
При сильной интоксикации требуется полное очищение организма от токсинов. Детоксикация помогает нормализовать работу внутренних органов, улучшить общее состояние пациента и восстановить баланс жидкостей в организме. Специалист использует современные препараты, включая электролиты, глюкозу и антиоксиданты, для безопасного и эффективного очищения организма.
Выяснить больше – narcolog-na-dom-krasnoyarsk55.ru/
Заключительная фаза реабилитации фокусируется на обучении пациента жизни без алкоголизма и развитии навыков преодоления жизненных трудностей естественным путем. В рамках этого этапа пациенты активно участвуют в специализированных программах, нацеленных на восстановление утраченных социальных связей и профессиональных компетенций. Программа включает трудотерапию, образовательные курсы и тематические семинары. Особое внимание уделяется работе с семьей: родственники проходят специальное обучение, помогающее им лучше понимать особенности зависимости быстро и эффективно оказывать поддержку близкому человеку.
Подробнее тут – https://vyvod-iz-zapoya-krasnoyarsk55.ru/vyvod-iz-zapoya-krasnoyarsk-kruglosutochno/
Первоначально врач осматривает пациента, узнаёт длительность запоя, наличие хронических заболеваний, оценивает степень интоксикации. Этот переходный момент очень важен, так как точная диагностика позволяет определить, какие препараты и инфузионные растворы будут наиболее эффективны и безопасны.
Получить дополнительные сведения – вывод из запоя капельница
Лечение выводится поэтапно, чтобы обеспечить безопасность и максимальную эффективность терапии. Каждый этап продуман и адаптирован под индивидуальные особенности пациента.
Получить дополнительные сведения – врач нарколог на дом платный в красноярске
Нужна срочная помощь при алкогольном отравлении или запое? Вызовите нарколога на дом в Иркутске! Квалифицированная помощь нарколога на дому: диагностика, капельница, стабилизация состояния. Круглосуточный выезд нарколога, анонимность и снижение рисков – с «ТрезвоМед». Самостоятельный отказ невозможен? Необходима наркологическая помощь. Васильев: «Не затягивайте с помощью при алкогольном отравлении!».
Углубиться в тему – https://narcolog-na-dom-v-irkutske0.ru/narkolog-na-dom-czena-irkutsk/
Клиника «Гармония и Свет» предоставляет качественные услуги нарколога на дому, обеспечивая пациентам комфортное лечение в привычной обстановке. Это позволяет не только своевременно получить квалифицированную помощь, но и сделать процесс лечения максимально непринужденным и анонимным.
Подробнее тут – врач нарколог на дом свердловская область
Близкий человек в запое? Не ждите ухудшения. Обратитесь в клинику — здесь проведут профессиональный вывод из запоя с последующим восстановлением организма.
Углубиться в тему – vyvod-iz-zapoya gorod rostov-na-donu
Каждый день запоя увеличивает риск для жизни. Не рискуйте — специалисты в Ростове-На-Дону приедут на дом и окажут экстренную помощь. Без боли, стресса и ожидания.
Раскрыть тему полностью – вывод из запоя недорого в ростове-на-дону
кайтсёрфинг “Фристайл”: Зрелищные трюки и техника фристайла в кайтсерфинге
Если вы давно мечтаете изучать психологию онлайн, но не знаете, с чего начать — рекомендую обратить внимание на ILM Академию. Это современная платформа, где можно пройти курс по психологии с дипломом без отрыва от работы или семьи.
Программа идеально подойдёт новичкам: всё объясняется простым языком, много практики и живых встреч с преподавателями. В конце обучения вы получите европейский диплом, который ценится и в Украине, и за её пределами.
Отличный выбор для тех, кто хочет начать карьеру в психологии или лучше понять себя и окружающих.
Вариант второй текста:
Хочешь получить профессию психолога, не выходя из дома?
ILM Академия — это современное онлайн-обучение психологии с упором на практику и живое общение с опытными преподавателями.
Обучение доступно из любой точки мира
Подходит для начинающих — всё с нуля
Практика, супервизии и поддержка кураторов
Европейский диплом после окончания курса
Ты сможешь освоить профессию, понять людей глубже и, возможно, даже изменить свою жизнь.
Подробнее о курсе на официальном сайте: ILM Академия психологии психология отношений обучение онлайн
Этот интересный отчет представляет собой сборник полезных фактов, касающихся актуальных тем. Мы проанализируем данные, чтобы вы могли сделать обоснованные выводы. Читайте, чтобы узнать больше о последних трендах и значимых событиях!
Погрузиться в детали – http://capriccio3.com/?p=994