Рейтинг:
2
Dave Kreskowiak
Ну, вы получаете null, потому что ваш запрос, где условие не соответствует никаким записям.
Поставьте точку останова на using
постройте и проверьте значение isbn
Скорее всего, его ценность не такова, как вы думаете.
codegeekalpha
если я использую [route ("api/serviceA/1234")], я получаю результаты с uri localhost/1234
но я хочу, чтобы resutls были восстановлены на localhost/api/serviceA/1234
Dave Kreskowiak
Используйте [RoutePrefix ("/api/controllerName")] вместо этого в классе контроллера.
Затем вы можете использовать [Route ("{isbn}")] в методе GetBook.
Затем вы должны быть в состоянии использовать http://localhost/api/ServiceAController/GetBook/1234 чтобы получить содержание.
codegeekalpha
я сделал, как ты сказал ..
http://localhost:2280/1234
Я получаю {"Id":1,"ISBN":"1234","название":"Название 1","издатель":null,"автор":"Farooq","цена":35000.00, "источник": "книжный магазин 2", "PurchaseUrl":null}
и с этим
http://localhost:2280/api/ServiceA/1234
я получаю ноль
Bryian Tan
Ваш код выглядит нормально. Я проверил. Если только вы не опустили некоторые детали. Похоже, этот вопрос-повторный пост от Web API 2 не извлекает данные из базы данных[^]
Находится ли webapi в отдельном проекте или в веб-проекте?
Dave Kreskowiak
Ты не можешь этого сделать. Вы даете имя контроллера, но не имя метода. Он понятия не имеет, что вы хотите вызвать метод GetBook, если вы его не укажете. Удалить это просто глупо, потому что тогда вы сможете поместить в контроллер только один метод.
codegeekalpha
Он находится в веб-проекте s....
codegeekalpha
[RoutePrefix ("api/ServiceA/GetBook")] Я попробовал с этим... те же результаты.. никакое изменение..
Dave Kreskowiak
Ты не делаешь того, что я сказал.
codegeekalpha
не могли бы вы объяснить, что вы пытаетесь сказать
Dave Kreskowiak
Нет. Вернитесь и перечитайте то, что я сказал.