On Mon, 02 Jan 2017 08:29:34 GMT, Jacob Carlborg wrote:

On Sun, 01 Jan 2017 21:28:30 GMT, Inquie wrote:

I am trying to create a simple rest server that responds to scripts that I attach to pages I visit(using Greasemonkey).

I cannot get the vibe.d project to respond to requests.

I have used the example project

import std.typecons : Nullable;
import vibe.d;
import std.stdio;

@path("/")
interface IMyAPI
{
	// GET /api/greeting
	@property string greeting();

	// PUT /api/greeting
	@property void greeting(string text);

	// POST /api/users
	@path("/users")
	void addNewUser(string name);

	// GET /api/users
	@property string[] users();

	// GET /api/:id/name
	string getName(int id);

	// GET /some_custom_json
	Json getSomeCustomJson();
}

I run this then try to make a request either using js or soapUI but they always fail with connection error.

The javascript request is

$.ajax({
  url: 'http://127.0.0.1/',
  type: 'GET',
  //contentType: "application/json; charset=utf-8",
  contentType: "application/json"
  dataType: "json",      
  data: 'greeting', // or $('#myform').serializeArray()
  success: function() { alert('GET completed'); },
  error: function (qXHR, exception) {   alert(JSON.stringify(qXHR)); },
  done: function(msg) { alert("DONE: " + msg ); }   

});

I am new to using rest so I do not know if I am doing something wrong, if it is a configuration issue, or what.

As far as I can see you don't have a route matching the root. If you want to make a request for the greeting method that needs to be in the URL, i.e. url: 'http://127.0.0.1/greeting'.

/Jacob Carlborg

Well, I don't seem to understand, I tried that, same issue.

I thought data added the resource to get rather than putting it in the url, tried a similar thing in soap and no worky either.

I've tried adding end point = http://127.0.0.1 and resource = /greeting or end point = http://127.0.0.1/greeing and resource = <null> with same issue. Tried that with JS too(url = the endpoint's above and data = the resources above).

They all return error.