mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-25 15:42:57 +08:00
MQTTnet.Server: Add HTTP API for publishing of messages.
This commit is contained in:
@@ -13,7 +13,7 @@ namespace MQTTnet.Server.Controllers
|
|||||||
{
|
{
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class ClientsController : ControllerBase
|
public class ClientsController : Controller
|
||||||
{
|
{
|
||||||
private readonly MqttServerService _mqttServerService;
|
private readonly MqttServerService _mqttServerService;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using MQTTnet.Server.Mqtt;
|
||||||
|
|
||||||
|
namespace MQTTnet.Server.Controllers
|
||||||
|
{
|
||||||
|
[Authorize]
|
||||||
|
[ApiController]
|
||||||
|
public class MessagesController : Controller
|
||||||
|
{
|
||||||
|
private readonly MqttServerService _mqttServerService;
|
||||||
|
|
||||||
|
public MessagesController(MqttServerService mqttServerService)
|
||||||
|
{
|
||||||
|
_mqttServerService = mqttServerService ?? throw new ArgumentNullException(nameof(mqttServerService));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Route("api/v1/messages")]
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> PostMessage(MqttApplicationMessage message)
|
||||||
|
{
|
||||||
|
await _mqttServerService.PublishAsync(message);
|
||||||
|
return Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Route("api/v1/messages/{*topic}")]
|
||||||
|
[HttpPost]
|
||||||
|
public Task<ActionResult> PostMessage(string topic, string payload)
|
||||||
|
{
|
||||||
|
var message = new MqttApplicationMessageBuilder()
|
||||||
|
.WithTopic(topic)
|
||||||
|
.WithPayload(payload)
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
return PostMessage(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ namespace MQTTnet.Server.Controllers
|
|||||||
{
|
{
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class RetainedApplicationMessagesController : ControllerBase
|
public class RetainedApplicationMessagesController : Controller
|
||||||
{
|
{
|
||||||
private readonly MqttServerService _mqttServerService;
|
private readonly MqttServerService _mqttServerService;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace MQTTnet.Server.Controllers
|
|||||||
{
|
{
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class SessionsController : ControllerBase
|
public class SessionsController : Controller
|
||||||
{
|
{
|
||||||
private readonly MqttServerService _mqttServerService;
|
private readonly MqttServerService _mqttServerService;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user