How to create Spring Boot controller
I have a spring boot application that needs a controller that can handle the following request:
The request is sent by another service through the Post method..
Headers
accept-encoding: gzip,deflate
user-agent: Apache-HttpClient/4.3.6 (java 1.5)
connection: Keep-Alive
host: webhook.site
content-type: application/x-www-form-urlencoded
content-length: 558
Query strings:(empty)
Form values
BillNumber: 41492032464
BillValue: 600000.0
Description: Description
I have this controller, but my application returns an HTTP Error 406:
@RequestMapping(value = "/bills", method = RequestMethod.POST, headers = "Accept=application/x-www-form-urlencoded")
@ResponseBody
@Transactional
public void createBill(UriComponentsBuilder uriComponentsBuilder, final HttpServletRequest request,
final HttpServletResponse response) throws IOException {
}
How should this controller be implemented in my spring boot app?
Many Thanks!
java spring-boot controller
add a comment |
I have a spring boot application that needs a controller that can handle the following request:
The request is sent by another service through the Post method..
Headers
accept-encoding: gzip,deflate
user-agent: Apache-HttpClient/4.3.6 (java 1.5)
connection: Keep-Alive
host: webhook.site
content-type: application/x-www-form-urlencoded
content-length: 558
Query strings:(empty)
Form values
BillNumber: 41492032464
BillValue: 600000.0
Description: Description
I have this controller, but my application returns an HTTP Error 406:
@RequestMapping(value = "/bills", method = RequestMethod.POST, headers = "Accept=application/x-www-form-urlencoded")
@ResponseBody
@Transactional
public void createBill(UriComponentsBuilder uriComponentsBuilder, final HttpServletRequest request,
final HttpServletResponse response) throws IOException {
}
How should this controller be implemented in my spring boot app?
Many Thanks!
java spring-boot controller
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46
add a comment |
I have a spring boot application that needs a controller that can handle the following request:
The request is sent by another service through the Post method..
Headers
accept-encoding: gzip,deflate
user-agent: Apache-HttpClient/4.3.6 (java 1.5)
connection: Keep-Alive
host: webhook.site
content-type: application/x-www-form-urlencoded
content-length: 558
Query strings:(empty)
Form values
BillNumber: 41492032464
BillValue: 600000.0
Description: Description
I have this controller, but my application returns an HTTP Error 406:
@RequestMapping(value = "/bills", method = RequestMethod.POST, headers = "Accept=application/x-www-form-urlencoded")
@ResponseBody
@Transactional
public void createBill(UriComponentsBuilder uriComponentsBuilder, final HttpServletRequest request,
final HttpServletResponse response) throws IOException {
}
How should this controller be implemented in my spring boot app?
Many Thanks!
java spring-boot controller
I have a spring boot application that needs a controller that can handle the following request:
The request is sent by another service through the Post method..
Headers
accept-encoding: gzip,deflate
user-agent: Apache-HttpClient/4.3.6 (java 1.5)
connection: Keep-Alive
host: webhook.site
content-type: application/x-www-form-urlencoded
content-length: 558
Query strings:(empty)
Form values
BillNumber: 41492032464
BillValue: 600000.0
Description: Description
I have this controller, but my application returns an HTTP Error 406:
@RequestMapping(value = "/bills", method = RequestMethod.POST, headers = "Accept=application/x-www-form-urlencoded")
@ResponseBody
@Transactional
public void createBill(UriComponentsBuilder uriComponentsBuilder, final HttpServletRequest request,
final HttpServletResponse response) throws IOException {
}
How should this controller be implemented in my spring boot app?
Many Thanks!
java spring-boot controller
java spring-boot controller
edited Nov 16 '18 at 2:22
AlejoDev
asked Nov 16 '18 at 0:16
AlejoDevAlejoDev
384524
384524
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46
add a comment |
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46
add a comment |
1 Answer
1
active
oldest
votes
It's not very clear for me but if you use spring boot you can of course create a controller , service and repository or dao.
Indeed, your controller will call your service witch will call the repository.
Let's suppose that you have a client witch call your api.
So the call will look like :
// Suppose that is a spring boot project
Class A {
@Autowired
RestTemplate restTemplate;
public void create(){
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType((MediaType.APPLICATION_JSON));
headers.add("X-yourCustom-context", "yourCustom");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(your_service_url)
.queryParam("params1", "value".queryParam("params2", value2));
HttpEntity<?> entity = new HttpEntity<>(headers);
restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST, entity, null); // if you want to return an objectr you put it rather than the null
}
}
Th service api :
@RestController
public class YourController {
@Autowired
private YourService service;
@Autowired
private ObjectMapper objectMapper;
@PostMapping(value = "/bills")
//@ResponseBody if you do not return any think you can not use it
// @CrossOrigin if you want to call your reste from an external project like javascript or angular
//@Transactional you can put it on the top of your service methode
public void createBill(@RequestParam(value = "params1", required = true) String params1,
@RequestParam(value = "params2", required = true) String params2,
@RequestHeader(value = "X-yourCustom-context", required = true) String yourContxt) throws IOException {
// You can then convert your x-context to an object that you have already by using objectMapper.readValue
// Finaly you call you service to create the bill and you passe as params what you get fron the client
}
}
I hope it meets your needs :)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53329664%2fhow-to-create-spring-boot-controller%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It's not very clear for me but if you use spring boot you can of course create a controller , service and repository or dao.
Indeed, your controller will call your service witch will call the repository.
Let's suppose that you have a client witch call your api.
So the call will look like :
// Suppose that is a spring boot project
Class A {
@Autowired
RestTemplate restTemplate;
public void create(){
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType((MediaType.APPLICATION_JSON));
headers.add("X-yourCustom-context", "yourCustom");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(your_service_url)
.queryParam("params1", "value".queryParam("params2", value2));
HttpEntity<?> entity = new HttpEntity<>(headers);
restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST, entity, null); // if you want to return an objectr you put it rather than the null
}
}
Th service api :
@RestController
public class YourController {
@Autowired
private YourService service;
@Autowired
private ObjectMapper objectMapper;
@PostMapping(value = "/bills")
//@ResponseBody if you do not return any think you can not use it
// @CrossOrigin if you want to call your reste from an external project like javascript or angular
//@Transactional you can put it on the top of your service methode
public void createBill(@RequestParam(value = "params1", required = true) String params1,
@RequestParam(value = "params2", required = true) String params2,
@RequestHeader(value = "X-yourCustom-context", required = true) String yourContxt) throws IOException {
// You can then convert your x-context to an object that you have already by using objectMapper.readValue
// Finaly you call you service to create the bill and you passe as params what you get fron the client
}
}
I hope it meets your needs :)
add a comment |
It's not very clear for me but if you use spring boot you can of course create a controller , service and repository or dao.
Indeed, your controller will call your service witch will call the repository.
Let's suppose that you have a client witch call your api.
So the call will look like :
// Suppose that is a spring boot project
Class A {
@Autowired
RestTemplate restTemplate;
public void create(){
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType((MediaType.APPLICATION_JSON));
headers.add("X-yourCustom-context", "yourCustom");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(your_service_url)
.queryParam("params1", "value".queryParam("params2", value2));
HttpEntity<?> entity = new HttpEntity<>(headers);
restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST, entity, null); // if you want to return an objectr you put it rather than the null
}
}
Th service api :
@RestController
public class YourController {
@Autowired
private YourService service;
@Autowired
private ObjectMapper objectMapper;
@PostMapping(value = "/bills")
//@ResponseBody if you do not return any think you can not use it
// @CrossOrigin if you want to call your reste from an external project like javascript or angular
//@Transactional you can put it on the top of your service methode
public void createBill(@RequestParam(value = "params1", required = true) String params1,
@RequestParam(value = "params2", required = true) String params2,
@RequestHeader(value = "X-yourCustom-context", required = true) String yourContxt) throws IOException {
// You can then convert your x-context to an object that you have already by using objectMapper.readValue
// Finaly you call you service to create the bill and you passe as params what you get fron the client
}
}
I hope it meets your needs :)
add a comment |
It's not very clear for me but if you use spring boot you can of course create a controller , service and repository or dao.
Indeed, your controller will call your service witch will call the repository.
Let's suppose that you have a client witch call your api.
So the call will look like :
// Suppose that is a spring boot project
Class A {
@Autowired
RestTemplate restTemplate;
public void create(){
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType((MediaType.APPLICATION_JSON));
headers.add("X-yourCustom-context", "yourCustom");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(your_service_url)
.queryParam("params1", "value".queryParam("params2", value2));
HttpEntity<?> entity = new HttpEntity<>(headers);
restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST, entity, null); // if you want to return an objectr you put it rather than the null
}
}
Th service api :
@RestController
public class YourController {
@Autowired
private YourService service;
@Autowired
private ObjectMapper objectMapper;
@PostMapping(value = "/bills")
//@ResponseBody if you do not return any think you can not use it
// @CrossOrigin if you want to call your reste from an external project like javascript or angular
//@Transactional you can put it on the top of your service methode
public void createBill(@RequestParam(value = "params1", required = true) String params1,
@RequestParam(value = "params2", required = true) String params2,
@RequestHeader(value = "X-yourCustom-context", required = true) String yourContxt) throws IOException {
// You can then convert your x-context to an object that you have already by using objectMapper.readValue
// Finaly you call you service to create the bill and you passe as params what you get fron the client
}
}
I hope it meets your needs :)
It's not very clear for me but if you use spring boot you can of course create a controller , service and repository or dao.
Indeed, your controller will call your service witch will call the repository.
Let's suppose that you have a client witch call your api.
So the call will look like :
// Suppose that is a spring boot project
Class A {
@Autowired
RestTemplate restTemplate;
public void create(){
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType((MediaType.APPLICATION_JSON));
headers.add("X-yourCustom-context", "yourCustom");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(your_service_url)
.queryParam("params1", "value".queryParam("params2", value2));
HttpEntity<?> entity = new HttpEntity<>(headers);
restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.POST, entity, null); // if you want to return an objectr you put it rather than the null
}
}
Th service api :
@RestController
public class YourController {
@Autowired
private YourService service;
@Autowired
private ObjectMapper objectMapper;
@PostMapping(value = "/bills")
//@ResponseBody if you do not return any think you can not use it
// @CrossOrigin if you want to call your reste from an external project like javascript or angular
//@Transactional you can put it on the top of your service methode
public void createBill(@RequestParam(value = "params1", required = true) String params1,
@RequestParam(value = "params2", required = true) String params2,
@RequestHeader(value = "X-yourCustom-context", required = true) String yourContxt) throws IOException {
// You can then convert your x-context to an object that you have already by using objectMapper.readValue
// Finaly you call you service to create the bill and you passe as params what you get fron the client
}
}
I hope it meets your needs :)
edited Nov 16 '18 at 1:17
answered Nov 16 '18 at 1:12
TinyOSTinyOS
99011130
99011130
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53329664%2fhow-to-create-spring-boot-controller%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you more explain ! Do want to khnow how to call a service rest ? or you want to create a service rest witch create a bill ? if yes so can you give your object that you want to send to your service
– TinyOS
Nov 16 '18 at 0:43
simply this is the request that my controller must handle, does not return anything it's void
– AlejoDev
Nov 16 '18 at 0:46