I have an ASP .Net Core 2.2 Web API with a SignalR hub. Is it possible to call one of its methods (for example, SendMessageToAll) using Postman? The problem is that I only have the API - no frontend - and I need to test.
I tried putting the URl to my hub in Postman (api.mydomain.com/chatHub) but then I'm not really sure how to structure the body. I know SignalR uses WebSockets preferably, and I don't know if PostMan has WebSocket functionality. I believe SignalR can also do HTTP requests if WebSockets is not available, which is something Postman can do. But what body do I use? And do I use an HTTP GET or POST?
I saw a post where the person was using this body in Postman:
{
"Target": "SendMessageToGroup",
"Arguments": [
"groupA",
"hello from server"
]
}
So I tried the same, but when I click "Send" on postman, the SendMessageToGroup method of my hub doesn't get triggered.
Thanks
Now is possible with Postman version > 8.0 using WebSocket Request block. You can grab the information in their blog post https://blog.postman.com/postman-supports-websocket-apis/
working for me with asp.net core 5 (didn't tested any other versions)
first of all - need to get connection id by post request
post request to get connection id
then - connect with id that you received
connection with received id
after connection - your first message must be
{"protocol":"json","version":1}
first message
then - we can use this request format
new message from postman
new message in browser
need to add this specific symbol to each of your websockets requests
network with js client
when specific symbol is not added - requests does not pass
when specific symbol is not added
Check Postman > 8. If you just inject your hub inside a controller then you can use hub's method and call it's public method from http request inside post man. Or use another app : https://stackoverflow.com/a/59543405/4751073
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With