ASP.Net -запрошенный ресурс не поддерживает метод http ‘GET’

Я пишу контроллер, чтобы получить книги с определенными авторами с определенным рейтингом. Это код для метода GET :

public IQueryable<Book> GetBooks(string context)
{
   string rating = context.Split('?')[0];
   string[] authors = context.context.Split('?')[1].Split(',');
   return db.Books.Where(s => authors.Contains(s.AuthorName) && s.Rating == rating);
}

Когда я запускаю проект и ввожу этот URL :

http://localhost:65239/api/books/5?James,Tom

Я получаю эту ошибку:
<Error>
<Message>
The requested resource does not support http method 'GET'.
</Message>
</Error>

Что я делаю не так?

2 ответа

  1. Попробовать это;

    public JsonResult GetBooks(string context)
    {
       string rating = context.Split('?')[0];
       string[] authors = context.context.Split('?')[1].Split(',');
       var books = db.Books.Where(s => authors.Contains(s.AuthorName) && s.Rating == rating);
       return Json(books, JsonRequestBehavior.AllowGet); 
    }
    
  2. Оказывается, я использовал неправильный формат URL.

    http://localhost:65239/api/books?context=5?James,Tom