Can I use webwrite to make a PUT request?

26 Ansichten (letzte 30 Tage)
Prabhakar Vallury
Prabhakar Vallury am 16 Sep. 2024
I've been able to successfully use the 'webwrite' and 'webread' functions for POST and GET requests for REST API calls in Matlab. Now, I need to make a small PUT request without any body/data.
Is there a way to use webwrite for this purpose? I've read about the matlab.net.HTTP.Request Class in THIS page, but it seems complicated - how do I send a BEARER authorization token and the PUT request without any body/data? It would be nice if webwrite could handle PUT requests as well.
Thanks,
PV

Akzeptierte Antwort

Animesh
Animesh am 16 Sep. 2024
You can use "weboptions" to specify the request method, such as PUT. You can then pass these web options to "webwrite" to obtain the desired results. Additionally, the bearer authorization token can be included in the web options. Here is a sample code snippet:
url = 'https://demo.url.com';
% This data can be empty if you don't want to pass anything
data = struct('param1', 'value1', 'param2', 'value2');
bearerToken = 'your_bearer_token_here';
options = weboptions('RequestMethod', 'put', ...
'MediaType', 'application/json', ...
'HeaderFields', {'Authorization', ['Bearer ' bearerToken]});
response = webwrite(url, data, options);
You can refer the following documentation for more information:
  1 Kommentar
Prabhakar Vallury
Prabhakar Vallury am 17 Sep. 2024
This is great - the documentation from webwrite implies it is only for POST. I would recommend updating it with examples for PUT, DELETE, etc. requests also. Thanks for the help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Gaurav
Gaurav am 16 Sep. 2024
You can use the weboptions function to set the request method, like PUT or GET. After setting the desired options, you can pass them to the webwrite function to perform the request. If needed, you can also include a bearer authorization token in the weboptions. Here’s an example pseudocode:
url = 'https://demo.url.com';
% Data can be omitted if not needed
data = struct('param1', 'value1', 'param2', 'value2');
bearerToken = 'your_bearer_token_here';
options = weboptions('RequestMethod', 'put', ...
'MediaType', 'application/json', ...
'HeaderFields', {'Authorization', ['Bearer ' bearerToken]});
response = webwrite(url, data, options);
You can refer the following documentation for more information:
Hope it helps!

Kategorien

Mehr zu Call Web Services from MATLAB Using HTTP finden Sie in Help Center und File Exchange

Produkte


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by