Json error 500 internal server error

/openapi.json «HTTP Error 500» when a response_class Union is used. #2082


tacozMacleo commented Sep 21, 2020 •

First check

  • I added a very descriptive title to this issue.
  • I used the GitHub search to find a similar issue and didn’t find it.
  • I searched the FastAPI documentation, with the integrated search.
  • I already searched in Google «How to X in FastAPI» and didn’t find any information.
  • I already read and followed all the tutorial in the docs and didn’t find an answer.
  • I already checked if it is not related to FastAPI but to Pydantic.
  • I already checked if it is not related to FastAPI but to Swagger UI. (Happens before this is relevant)
  • I already checked if it is not related to FastAPI but to ReDoc. (Happens before this is relevant)
  • After submitting this, I commit to one of:
    • Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
    • I already hit the «watch» button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
    • Implement a Pull Request for a confirmed bug.


Here’s a self-contained example with my use case:


When open the browser and call the endpoint /docs or /redoc , I get on redoc a:

And on /docs I get a:

But works as expected when I use curl:
curl -X GET «» -H «accept: text/plain
curl -X GET «» -H «accept: application/json»

If I have a Union with only one element in, the error do not occur.
I have not found anywhere how to have multiple response_classes, but it is in the cards that Union is used for this. (Let me know if I am wrong.)


[FEATURE] ending / for collections #51 -Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 GNU/Linux

  • FastAPI Version: 0.61.0
  • Python Version: 3.8.2
  • Additional context

    The text was updated successfully, but these errors were encountered:


    Android Question JSON PostString — 500 internal server error (continued) [SOLVED]


    Active Member

    Back in this post I asked about posting JSON data to my web service: HERE

    It is better to put the Dim line inside the loop however it is not related to this issue.

    Maybe you need to set the request content type to application/json.

    Hi Erel,
    I was hoping to get a response on how to use a PostString with JSON and set the content.type to application/json?

    To date, I’ve not been able to get the post to work with the data length over 1024 in size, using B4A.
    Smaller JSON data from B4A, has been accepted to my web service successfully.
    The trouble is, I’ve been able to use PostMan to post to my web service with large JSON data (longer than 1024 and copied from the B4A Log) successfully.

    Any continued help on this would be appreciated.

    Mark Stuart





    B4x uses standard methods like «PostString». Nothing special here. I’m sending huge JSON data with images, etc. to my servers. No problem.

    What we do not know so far is how your webservice works (is it php?). How is the server configured?


    Active Member




    Active Member

    The in-network http web service is developed in Alpha Anywhere, with a published name like:

    Since it is an in-network web service, there’s no need for https type service. Someone cannot access the web service externally.
    Using B4A’s PostString function, it sends the data to the web service no problem. As I mention already, with small data, but as more data is sent from B4A it returns the 500 internal server error.

    Alpha XBasic web service code:

    Erel mentioned that I should apply the application/json header. That’s something I haven’t done as yet, as I don’t know how.
    How do I do that?
    I do notice that PostMan applies 2 header lines:
    Authorization: Basic bWFyay5zdHVhcnQ6UGFsYWNlMjAxNw==
    ContentType: text/plain

    PostMan Body and B4A JSON request data:

    And again, remember that the Alpha Anywhere web service works now (without the error 500 internal server error).
    It’s now the amount of data I’m submitting to the web service from B4A that is failing.
    And again, PostMan has no problem delivering the request and getting a response, no matter the size of data sent.

    Читайте также:  Http error 407 что делать

    Any help is surely appreciated

    Mark Stuart


    Active Member


    Active Member

    Are you sure it’s the size of the data, or not just something (a special character, for example) that only occurs a certain way into your dataset that is causing the problem?

    An error 500 might occurr, for example, if there’s an unescaped quote mark in the data, which causes the parsing of the JSON to fail horribly. It’s also possible that there may be a per-script maximum memory limit or maximum post size specificed (eg, Apache’s LimitBodyRequest directive)




    Active Member




    Active Member

    Are you sure it’s the size of the data, or not just something (a special character, for example) that only occurs a certain way into your dataset that is causing the problem?

    An error 500 might occurr, for example, if there’s an unescaped quote mark in the data, which causes the parsing of the JSON to fail horribly. It’s also possible that there may be a per-script maximum memory limit or maximum post size specificed (eg, Apache’s LimitBodyRequest directive)



    Still would like a code sample from PostMan though.

    Edit: Fixed content type setting. Had it wrong.


    Active Member

    Hi Oliver,
    Sorry, I didn’t see that as a feature. Maybe it’s in the Pro or Enterprise versions.

    Anyway, PostMan has no errors working with my Alpha Anywhere web service — small or large data, where B4A does.
    Using the Username and Password are not needed in our in-network web service. I do have some time up my sleeve now that version 1.00 of the app was sent out a few weeks ago and was a hit with our theme and water parks across the country — USA. It’s for scanning their inventory.
    2 prior in-house developed scanning apps failed with other developers, and I (being new to the company) suggested B4A as I had known about it for years, and the management said yes let’s buy it and you build it. Version 2.00 is on the way.
    I’ve thoroughly enjoyed developing in B4A.


    Server error 500 on POST #798


    casvil commented Jun 8, 2018 •

    Hi, I am having issues with POST method in my React-Redux app. GET works perfectly fine.

    Error in Chrome devtools: POST https://my-json-server.typicode.com/casvil/recipes/recipes 500 (). Uncaught (in promise) SyntaxError: Unexpected token T in JSON at position 0

    Error in Postman: TypeError: Cannot read property ‘id’ of undefined
    at Function.createId (/app/node_modules/json-server/lib/server/mixins.js:46:39)
    at Function.insert (/app/node_modules/lodash-id/src/index.js:47:49)
    at /app/node_modules/lodash/lodash.js:4379:28
    at arrayReduce (/app/node_modules/lodash/lodash.js:704:21)
    at baseWrapperValue (/app/node_modules/lodash/lodash.js:4378:14)
    at LodashWrapper.wrapperValue (/app/node_modules/lodash/lodash.js:9067:14)
    at create (/app/node_modules/json-server/lib/server/router/plural.js:226:50)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/app/node_modules/express/lib/router/route.js:137:13)
    at next (/app/node_modules/express/lib/router/route.js:131:14)

    This is the fetch request:


    If I use instead your Posts json-server, the POST method works fine. https://jsonplaceholder.typicode.com/posts.

    Is it possible that my db.json file is wrong, might have any wrong character?

    The text was updated successfully, but these errors were encountered:


    Ошибка 500 Internal Server Error: что это и как её исправить

    Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .

    Ошибка 500 Internal Server Error — диагностика

    Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть причиной, по которой возникает ошибка 500 Internal Server Error . Само название ( Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.

    Ошибка 500 Internal Server Error — устранение на популярных платформах

    Многие пользователи устанавливают на свой сервер популярные CMS-системы , такие как WordPress , Joomla , Drupal и они не должны вызывать ошибку 500 , если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.

    Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :

    • Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
    • Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
    • Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае — отключать их по очереди, пока ошибка 500 не исчезнет.
    • Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.
    Читайте также:  Linux cd rom error

    Когда причиной, по которой возникает ошибка 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.

    Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов

    Другой причиной по которой может возникнуть ошибка 500 Internal Server Error может стать разработка и тестирование собственных скриптов.

    Чтобы справиться с такой ошибкой, попробуйте следующие решения :

    • Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервером выдаётся ошибка 500 Internal Server Error . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
    • Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
    • Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
    • Ошибки в файле .htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
    • Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.

    Попросите помощи у системного администратора

    В некоторых случаях у разработчиков нет полного контроля над сервером.

    Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :

    • Предоставить документацию о своём сервере и возможных причинах ошибки 500 . В зависимости от используемой операционной системы и настройки оборудования, данная ошибка может возникать по разным причинам.
    • Попросите службу поддержки хостинга посмотреть лог-файлы с ошибками — системный администратор сможет определить, был ли сервер во время возникновения ошибки загружен или вовсе « упал ».

    Ошибку 500 Internal Server Error довольно легко устранить

    Ошибка 500 Internal Server Error — как исправить ? В большинстве случаев причины возникновения ошибки 500 легко исправляются. Проблема заключается в том, что без конкретной информации определение причины возникновения сбоя усложняется. Легче всего справиться с ошибкой, когда разработчик выяснит, что изменилось перед возникновением ошибки.

    Не забывайте, что произошедшие изменения могли быть осуществлены и другими людьми — например, администратором сервера. Если же ничего не менялось, вероятно, сам сервер стал причиной возникновения ошибки из-за несовместимости программного обеспечения или проблем с производительностью.

    Вадим Дворников автор-переводчик статьи « 500 Internal Server Error: What It Is And How To Fix It »


    Passing data to Web Service ASP.NET — Getting 500 (Internal Server Error)

    I have an issue with fetching and passing data to ASP.NET web service from the ReactJS.

    Other fetch function is working with only getting data from the database.
    Why am I getting these errors ? what am I doing here wrong ?
    I believe its something in my signUp fetch function.

    That response I think is that the fetch can’t read the response from the server —

    My fetch function in ReactJs —

    DevTools error in Chrome —

    System.InvalidOperationException: missing parameter : firstName.
    System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
    System.Web.Services.Protocols.UrlParameterReader.Read(HttpRequest request)

    SignUp WebMethod is working in the WebService.

    Hi everyone @Limitless Technology and @MotoX80
    I found the solution,
    I searched deeper in dev-tools for the error and found —

    InvalidOperationException: Only web services with the [ScriptService] attribute in the class definition can be read from a script.

    Than I searched for it and found the solution so I added in C# the Attribute Class [ScriptService] to WebService.cs

    Читайте также:  Error 1935 an error occur during the installation

    I changed the fetch method to work —

    and now it’s working great.

    6 additional answers

    I suppose Only web services which has the [ScriptService] attribute in the class definition can be read from a script but it seems your code is missing to fetch this and can you try adding specific attributes to it.

    Hope this Answers all your queries , if not please do repost back .
    If an Answer is helpful, please click «Accept Answer» and upvote it : )

    your post to the server is failing (getting a 500 error). the response is probably an html error page, but your code tries to parse the first dom element as json. (sticking json in a xml node is bad practice)

    note: a 500 error is a valid html response, so no error is thrown. you should be checking the response status.

    With your code sample I got this errors —

    main.chunk.js:2424 POST http://localhost:50496/WebService.asmx/SignUp 500 (Internal Server Error)
    signUp @ main.chunk.js:2424
    handleSubmitForm @ main.chunk.js:1549
    callCallback @ vendors

    invokeGuardedCallbackDev @ vendors

    invokeGuardedCallback @ vendors

    invokeGuardedCallbackAndCatchFirstError @ vendors

    executeDispatch @ vendors

    processDispatchQueueItemsInOrder @ vendors

    processDispatchQueue @ vendors

    dispatchEventsForPlugins @ vendors

    (anonymous) @ vendors

    batchedEventUpdates$1 @ vendors

    batchedEventUpdates @ vendors

    dispatchEventForPluginEventSystem @ vendors

    attemptToDispatchEvent @ vendors

    dispatchEvent @ vendors

    unstable_runWithPriority @ vendors

    runWithPriority$1 @ vendors

    discreteUpdates$1 @ vendors

    discreteUpdates @ vendors

    dispatchDiscreteEvent @ vendors

    bad response 500 — Internal Server Error

    You are making the same mistakes as your other threads. Why do you expect a different results when you refuse to follow working code examples?

    I really don’t know what you want

    The code does not fix the server error, only add detection and calls the fail code. You still need to fix the server code, or more likely the post data is invalid.

    Use the browsers network trace to view the response, which is probably an error page.

    I added the header screenshot from the Network column in Chrome

    I really don’t know what you want

    I want you to follow the examples and recommendations forum members have provided rather making assumptions.

    Unfortunately, you did not share the ASMX web method so it is impossible to verify your fetch script matches web method parameters. Your post shows two different models and properties.

    Anyway, I added an login example along with the other 5 working examples on the Dev Repo from your many other threads on this same subject.

    Thank you for your question.

    Please follow these steps, it will help you:

    You need to make changes to your browser configuration.

    2.Open Internet Explorer, select the Internet Options menu item and open the Security tab of the popup window.
    3. Click the Local intranet icon and then click the Sites button and a new window will open.
    4. Click the Advanced Button and a new window will open.
    5. Enter the URL in the upper input box, click the Add button. Then enter a URL and click the Add button again. Then click the Close button and then click OK out of the
    previous window.
    6. Select the Security tab at the top then select Custom Level again. Scroll down to User Authentication and select Automatic logon with current user name and
    password. When finished select OK.
    7. Select the Advanced tab at the top then select the box Enable Integrated Windows Authentication* and click Apply.
    8. Restart.

    If the reply was helpful, please don’t forget to upvote or accept as answer.

    My default browser is Chorme it’s all in chrome
    «Interent Explorer» was replaced by Microsoft’s «Edge»

    Did all the steps nothing works

    Did all the steps nothing works

    The steps provided by LimitlessTechnology-2700 assumes you are using Windows Authentication. Even if you were, the steps will not fix the fetch error. The main issue you face is not listening to the advice given on these forums of follow any working examples. Below is the same code pattern I’ve proved several times. I’m not sure what else we can do for you.

    Also, please follow the troubleshooting recommendations in this thread. Review the response tab located in network trace utility within the Brower’s dev tools. The response often contains the actual error returned from the service like a missing parameter.


    Оцените статью