Модель RS-протокол голосования неполная
От: r0nd  
Дата: 18.12.23 19:57
Оценка:
Привет, «форум поддержки»™

REST API голосовалок отдает неполную модель (без автора и иднтификатора опроса), взгляните, коллеги:
  Пример
{
    "name": "Нужно ли платить за недоделанную работу с ошибками?",
    "question": "Ситуация следующая. Есть заказ на работу. Есть ТЗ. Есть программист-исполнитель и я-заказчик. Условия: 1. в ТЗ чётко прописано: дебаггинг лежит на программисте! 2. В переписке Я-заказчик, установил момент, когда будет выплачена первая половина оплаты, с чем исполнитель молча согласился (не отрицал). В чём проблема: а) сейчас, выполнив не все функции, названные для получения первой части оплаты; б) а также высылая 3-й раз версию программы, в которой около 25 ошибок!!! и несоответствий ТЗ!!!; разработчик требует денег и говорит \"дальше разрабатывать не буду, я вам недоверяю, давайте деньги\"... (могу предоставить образцы ТЗ и глючной программы, если нужно) Надеюсь, каждый ответ по-чести, без предвзятости своего положения.",
    "concluded": true,
    "createdOn": "2008-01-26T16:05:34.8400000",
    "concludedOn": null,
    "showVoters": true,
    "showResult": true,
    "allowedChoiceCount": 1,
    "selfVoted": false,
    "voteCount": 0,
    "voteAllowed": false,
    "addChoiceAllowed": false,
    "choices": [
        {
            "id": 28303,
            "choice": "Договор есть договор! Раз в ТЗ написано про дебаггинг и обговорён объём работ - исполнитель должен их выполнять!",
            "votesCount": 0,
            "share": 0,
            "selfVoted": false
        },
        {
            "id": 28304,
            "choice": "Ошибки ерунда, исправит(?) потом. Фрилансеры народ пуганный, несчастный, давайте каждому деньги когда попросит!",
            "votesCount": 0,
            "share": 0,
            "selfVoted": false
        }
    ]
}


Сложно будет добавить поля автора и идентификатора опроса? Потому что непонятно кто создал и чей этот опрос. Модель без этих полей неполная.
И еще, в последний момент я заметил что URL https://rsdn.org/rs/poll/2005
Автор: Pa6oTa
Дата: 26.01.08
Вопрос: Ситуация следующая. Есть заказ на работу. Есть ТЗ. Есть программист-исполнитель и я-заказчик. Условия: 1. в ТЗ чётко прописано: дебаггинг лежит на программисте! 2. В переписке Я-заказчик, установил момент, когда будет выплачена первая половина оплаты, с чем исполнитель молча согласился (не отрицал). В чём проблема: а) сейчас, выполнив не все функции, названные для получения первой части оплаты; б) а также высылая 3-й раз версию программы, в которой около 25 ошибок!!! и несоответствий ТЗ!!!; разработчик требует денег и говорит "дальше разрабатывать не буду, я вам недоверяю, давайте деньги"... (могу предоставить образцы ТЗ и глючной программы, если нужно) Надеюсь, каждый ответ по-чести, без предвзятости своего положения.
почему-то рендерится как embedded, а с указанием всего лишь сабдомена уже не рендерится: https://www.rsdn.org/rs/poll/2005


Edited:
Еще один косяк заметил: поле concludedOn всегда равно null вместо даты завершения опроса, посмотрите мэппинг из DTO, возможно допустили ошибку там.


Выглядит сейчас как косяк проектирования архитектуры.
...<< Dementor 1.5.2 ✪ Lets Play a Game ⚀⚀⚀⚂⚂>>
Отредактировано 19.12.2023 1:18 r0nd . Предыдущая версия . Еще …
Отредактировано 19.12.2023 1:04 r0nd . Предыдущая версия .
Отредактировано 19.12.2023 1:01 r0nd . Предыдущая версия .
Re: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 20.12.23 05:47
Оценка:
Коллеги, спасибо за правки.

Есть еще один косяк, смотрите когда делаем запрос на удаленную голосовалку (например 4):

GET https://www.rsdn.org/rs/poll/4

HTTP/1.1 404 Not Found
{
    "message": "Голосование не найдено"
}


но если вбить несуществующее голосование (на сегодня, например 999999):

GET https://www.rsdn.org/rs/poll/999999

HTTP/1.1 404 Not Found
{
    "message": "Голосование не найдено"
}


В первом случае должен возвращатся статус HTTP/1.1 410 Gone, а во втором — HTTP/1.1 404 Not Found. То есть в первом случае, ресурс был раньше, но сейчас его нет. Потому что логику курсора сложно делать. Спасибо за понимание.
...<< Dementor 1.5.2 ✪ Lets Play a Game ⚀⚁⚂⚂⚄ — You won>>
Re[2]: Модель RS-протокол голосования неполная
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.12.23 14:48
Оценка: 10 (1)
Здравствуйте, r0nd, Вы писали:

R>В первом случае должен возвращатся статус HTTP/1.1 410 Gone, а во втором — HTTP/1.1 404 Not Found. То есть в первом случае, ресурс был раньше, но сейчас его нет. Потому что логику курсора сложно делать. Спасибо за понимание.


В текущей модели нет понятие удаленного голосования. Голосованием может быть удалено только админом и при этом оно физически удаляется из БД.
AVK Blog
Re[3]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 20.12.23 15:46
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В текущей модели нет понятие удаленного голосования. Голосованием может быть удалено только админом и при этом оно физически удаляется из БД.


Хорошо, тогда как ты видешь, как определить идентификатор максимально доступного голосования. Например, смоделируем кейс — как узнать что через 1,2,3-N «исчезнувших» голосований есть еще доступные?
...<< Dementor 1.5.2 ✪ Lets Play a Game ⚀⚀⚁⚂⚃>>
Re[4]: Модель RS-протокол голосования неполная
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.12.23 19:51
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Хорошо, тогда как ты видешь, как определить идентификатор максимально доступного голосования.


Я вообще не понимаю что это за кейс такой.

R> Например, смоделируем кейс — как узнать что через 1,2,3-N «исчезнувших» голосований есть еще доступные?


Зачем это узнавать? Тебе может нужен отсутствующий метод GET /rs/polls?
AVK Blog
Re[5]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 20.12.23 23:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зачем это узнавать? Тебе может нужен отсутствующий метод GET /rs/polls?


Да, это было бы круто и решило бы мою проблему. Если этот end-point будет с возможностью задать начальную позицию и количество отдаваемых записей (размер окна) — то вообще будет супер.
...<< Dementor 1.5.2 ✪ Lets Play a Game ⚀⚀⚂⚃⚅>>
Re[5]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 22.12.23 10:41
Оценка:
Андрей, если что, — голосования лежат…
...<< Dementor 1.5.2 ✪ Lets Play a Game ⚁⚂⚂⚂⚅>>
Re[6]: Модель RS-протокол голосования неполная
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.12.23 19:53
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Андрей, если что, — голосования лежат…


Перепутал фичи asp.net и asp.net core. Fixed.
AVK Blog
Re[5]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 28.12.23 10:02
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зачем это узнавать? Тебе может нужен отсутствующий метод GET /rs/polls?


А что голосования с 4140 по 5130 отсутствуют? Потребность в наличии этого метода возросла.
...<< Dementor 1.5.3 ✪ Lets Play a Game ⚀⚁⚂⚅⚅>>
Отредактировано 28.12.2023 14:45 r0nd . Предыдущая версия . Еще …
Отредактировано 28.12.2023 10:04 r0nd . Предыдущая версия .
Re[6]: Модель RS-протокол голосования неполная
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.01.24 18:06
Оценка: 15 (1)
Здравствуйте, r0nd, Вы писали:

AVK>>Зачем это узнавать? Тебе может нужен отсутствующий метод GET /rs/polls?

R>А что голосования с 4140 по 5130 отсутствуют? Потребность в наличии этого метода возросла.

/rs/poll
Параметры
bool isOpen = true
int? authorId = null
int? offset = null
int? limit = null
AVK Blog
Re[7]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 03.01.24 22:25
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>/rs/poll

AVK>Параметры
AVK>bool isOpen = true
AVK>int? authorId = null
AVK>int? offset = null
AVK>int? limit = null

Супер, все работает. Буду тестировать
...<< Dementor 1.5.3 ✪ Lets Play a Game ⚁⚁⚄⚅⚅>>
Re[7]: Модель RS-протокол голосования неполная
От: r0nd  
Дата: 03.01.24 22:37
Оценка:
Здравствуйте, AndrewVK, Вы писали:

С датой приключился косяк небольшой, дата передается в .NET-формате (/Date(1375183396613)/), а можно сконвертировать в формат 2002-09-18T15:30:05.9430000 (как в остальных запросах с сайта)?
...<< Dementor 1.5.3 ✪ Lets Play a Game ⚁⚁⚃⚄⚄>>
Re[8]: Модель RS-протокол голосования неполная
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 06.01.24 23:21
Оценка: 10 (1)
Здравствуйте, r0nd, Вы писали:

R>С датой приключился косяк небольшой, дата передается в .NET-формате (/Date(1375183396613)/), а можно сконвертировать в формат 2002-09-18T15:30:05.9430000 (как в остальных запросах с сайта)?


Fixed
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.