2016-01-14 4 views
1

Я пытаюсь добавить аргументы при выполнении проекта java spring.Как отправить аргументы с помощью curl?

Корпус) Java автономный: java -cp target/A.jar myProgram arg1 arg2 arg3 arg4 ->РАБОТЫ!

Как насчет корпуса SPRING-RESTful API?
Не имея аргументов, я использовал
curl -H "Accept: application/json" -H "X-AUTH-TOKEN: XXXX" -X POST -d "[1234,4567,89012]" http://my.ip.address:port/myProgram

Затем, как я могу включить arg1, arg2, arg3, arg4 в этой завитка команде?


GreetingController.java

package Rest; 


import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.http.HttpStatus; 

import java.nio.charset.Charset; 
import java.util.concurrent.Future; 
import java.util.concurrent.atomic.AtomicBoolean; 
import java.util.concurrent.atomic.AtomicLong; 

import myProgram; 

import org.springframework.scheduling.annotation.Async; 
import org.springframework.scheduling.annotation.AsyncResult; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.bind.annotation.RestController; 
import org.springframework.web.bind.annotation.RequestHeader; 
import org.springframework.http.ResponseEntity; 
import org.springframework.http.HttpHeaders; 
import org.springframework.http.MediaType; 


// 
@RestController 
public class GreetingController { 
    private static final String template = "Hello, %s!"; 
    private final AtomicLong counter = new AtomicLong(); 

// @Autowired 
// bboxevolutionTripleFromDB processor; 


    @RequestMapping("/greeting") 
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) { 
     return new Greeting(counter.incrementAndGet(), 
          String.format(template, name)); 
    } 


    @RequestMapping(value="/myProgram", method = RequestMethod.POST) 
    public ResponseEntity<String> doDemo(@RequestHeader("X-AUTH-TOKEN") String authToken) { 

     try { 
      TypeInferenceMain.doDemo(null); 
      StringBuffer sb = new StringBuffer("["); 

      sb.append("]"); 
      HttpHeaders responseHeaders = new HttpHeaders(); 
      MediaType mediaType = new MediaType("application", "json", Charset.forName("UTF-8")); 
      responseHeaders.setContentType(mediaType); 
      return new ResponseEntity(sb.toString(), responseHeaders, HttpStatus.OK); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     HttpHeaders responseHeaders = new HttpHeaders(); 
     MediaType mediaType = new MediaType("application", "json", Charset.forName("UTF-8")); 
     responseHeaders.setContentType(mediaType); 

     return new ResponseEntity("[]", responseHeaders, HttpStatus.OK); 
    } 

} 

ответ

0

мне нужно больше информации, чтобы быть уверенным, как какой тип кодирования используется для параметров, но это так:

curl -X POST -H "Accept: application/json" -H "X-AUTH-TOKEN: token" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: 88fd44ab-692a-bef0-c80e-fe8b98c33bd1" -d '[arg1][arg2][arg3][arg4]' 'http://my.ip.address:port/myProgram' 
+0

-d '[arg1] [arg2] [arg3] [arg4]' не работает для меня .. – SUNDONG

+0

@SUNDONG Мне не хватает информации о том, где используется вход, я не верю, что это в коде, который вы указали. И мне нужно знать, является ли POST «x-www-form-urlencoded» –

Смежные вопросы