Size: a a a

2020 April 09

МЛ

Михаил Лебедев... in CODE BLOG / C#
а откуда ты запрос делаешь?
источник

М

Микаил in CODE BLOG / C#
Адрес такой
..TopWords/GetTopWords/10
Вызовется контроллер TopWords далее найдётся метод который принимает параметры string и int
В методе будет проверка на string что хочет пользователь у этого контроллера через swith
Идёт в класс допустим и вызывает метод GetTopWords
источник

М

Микаил in CODE BLOG / C#
Сперва с браузера..
источник

М

Микаил in CODE BLOG / C#
С клиентской частью не работал ещё..
Прям с браузера для теста выполняю запрос.
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
я правлиьно понимаю, что ты не хочешь делать несколько методов, а хочешь что бы 1 метод принимал все возможные варианты?
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
я правлиьно понимаю, что ты не хочешь делать несколько методов, а хочешь что бы 1 метод принимал все возможные варианты?
Я хотел бы сделать разные get методы, но не знаю как это правильно сделать, чтобы потом система не ошибалась в этих get запросах.
И как люди делают не знаю..
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
ну просто делаешь один метод со строкой, второй с числом: или просто называешь по-разному допустим GetTopWordsByString , ...ByInt
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
я правлиьно понимаю, что ты не хочешь делать несколько методов, а хочешь что бы 1 метод принимал все возможные варианты?
Просто так подумал, что есть такой вариант с одним методом get
Ведь в адресной строке ты не указываешь имя метода.. Ты указываешь только имя контролёра
Если указать имя метода, чтобы какой-то вызвать, система ошибку даст, что такого не существует
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
насколько я знаю, ты указываешь api/{controllerName}/{actionName}. а если не указывать имя метода, то скорее всего при случае, когда у тебя 2 гет метода определено, то будет ошибка из-за недопонимания
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
просто конкретизируй запрос добавив к нему имя метода, который ты вызываешь
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
насколько я знаю, ты указываешь api/{controllerName}/{actionName}. а если не указывать имя метода, то скорее всего при случае, когда у тебя 2 гет метода определено, то будет ошибка из-за недопонимания
Не знаю.. С api не работает это, если не указать адрес явно через route
источник

М

Микаил in CODE BLOG / C#
Реальный запрос такой
TopWords/10
Система сама ищет get метод
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
может быть тогда проблема в конфигурации роутинга?
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
просто конкретизируй запрос добавив к нему имя метода, который ты вызываешь
Вот...
Во втором параметре я подумал передавать имя метода..
TopWord/10/GetTop10Words
Система найдёт метод get с такими параметрами int и string, причём он может быть любого названия и в этом методе через swith будет проходить string параметр и далее узнавать какой метод вызвать например GetTopWords(10);
источник

М

Микаил in CODE BLOG / C#
Не знаю правильно ли так..
источник

МЛ

Михаил Лебедев... in CODE BLOG / C#
параметры можно передавать через querystring, /TopWords?number=10&string=str
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
может быть тогда проблема в конфигурации роутинга?
Пока не совсем разбираюсь в конфигурации этой..
По умолчанию система даёт знать, что что-то не то.. Два три get запроса.. сразу ошибку даёт.
источник

М

Микаил in CODE BLOG / C#
Михаил Лебедев
параметры можно передавать через querystring, /TopWords?number=10&string=str
Прям так напряму, да? В строке браузера. Ясненько.
источник

S1

Stwer 1998 in CODE BLOG / C#
Есть api которое вернет gzip.  записываю в массив WebClient.DownloadData оно там в Unicode хочу что бы было Utf-8 делаю Encoding.UTF8.GetString(unicodebyte) но все таки в консоль выводит так. как исправить? там кирилица
источник

S

Sasha in CODE BLOG / C#
Тут ведь формат json
источник