Итак, простой REST контроллер на Java с использованием Spring framework.
@org.springframework.web.bind.annotation.RestController
@RequestMapping("api")
public class RestController {
@Autowired
private MessageRepo messageRepo;
@Autowired
private JournalFind journalFind;
@GetMapping(value = "{searchsn}", produces = "application/json;charset=UTF-8")
public String list(@PathVariable String searchsn) {
Streamable messages;
messages = messageRepo.findBySnContainingIgnoreCase(searchsn)
.and(messageRepo.findByTextContainingIgnoreCase(searchsn))
.and(messageRepo.findByOwnerContainingIgnoreCase(searchsn))
.and(messageRepo.findByInvidContainingIgnoreCase(searchsn));
JSONObject jObject = new JSONObject();
try
{
JSONArray jArray = new JSONArray();
for (Message mess : messages)
{
JSONObject result = new JSONObject();
result.put("id", mess.getId());
result.put("name", mess.getText());
result.put("invid", mess.getInvid());
result.put("sn", mess.getSn());
result.put("owner", mess.getOwner());
jArray.put(result);
}
jObject.put("result", jArray);
} catch (JSONException e) {
e.printStackTrace();
}
return jObject.toString();
}
@GetMapping(value = "/hist/{id}", produces = "application/json;charset=UTF-8")
public String hist(@PathVariable Long id) {
Iterable journal = journalFind.findByMessageid(id);
JSONObject jObject = new JSONObject();
try
{
JSONArray jArray = new JSONArray();
for (Journal jour : journal)
{
JSONObject result = new JSONObject();
result.put("author", jour.getAuthor());
result.put("date", jour.getDate());
result.put("owner", jour.getNewowner());
jArray.put(result);
}
jObject.put("result", jArray);
} catch (JSONException e) {
e.printStackTrace();
}
return jObject.toString();
}
}